package de.thwildau.tm.moses.xabnf.ui.contentassist.antlr.internal; 

import java.io.InputStream;
import org.eclipse.xtext.*;
import org.eclipse.xtext.parser.*;
import org.eclipse.xtext.parser.impl.*;
import org.eclipse.emf.ecore.util.EcoreUtil;
import org.eclipse.emf.ecore.EObject;
import org.eclipse.xtext.parser.antlr.XtextTokenStream;
import org.eclipse.xtext.parser.antlr.XtextTokenStream.HiddenTokens;
import org.eclipse.xtext.ui.editor.contentassist.antlr.internal.AbstractInternalContentAssistParser;
import org.eclipse.xtext.ui.editor.contentassist.antlr.internal.DFA;
import de.thwildau.tm.moses.xabnf.services.XabnfGrammarAccess;



import org.antlr.runtime.*;
import java.util.Stack;
import java.util.List;
import java.util.ArrayList;

@SuppressWarnings("all")
public class InternalXabnfParser extends AbstractInternalContentAssistParser {
    public static final String[] tokenNames = new String[] {
        "<invalid>", "<EOR>", "<DOWN>", "<UP>", "RULE_STRING", "RULE_ID", "RULE_INT", "RULE_ML_COMMENT", "RULE_SL_COMMENT", "RULE_WS", "RULE_ANY_OTHER", "'Java'", "'C++'", "'C'", "'GeneratorModel'", "'{'", "'file'", "'='", "'language'", "'package'", "'entryRule'", "'encoding'", "'Bindings'", "'}'", "'rule'", "'to'", "'ref'", "'toClass'", "'toMethod'"
    };
    public static final int RULE_ID=5;
    public static final int T__28=28;
    public static final int T__27=27;
    public static final int T__26=26;
    public static final int T__25=25;
    public static final int T__24=24;
    public static final int T__23=23;
    public static final int T__22=22;
    public static final int RULE_ANY_OTHER=10;
    public static final int T__21=21;
    public static final int T__20=20;
    public static final int RULE_SL_COMMENT=8;
    public static final int EOF=-1;
    public static final int RULE_ML_COMMENT=7;
    public static final int T__19=19;
    public static final int RULE_STRING=4;
    public static final int T__16=16;
    public static final int T__15=15;
    public static final int T__18=18;
    public static final int T__17=17;
    public static final int T__12=12;
    public static final int T__11=11;
    public static final int T__14=14;
    public static final int T__13=13;
    public static final int RULE_INT=6;
    public static final int RULE_WS=9;

    // delegates
    // delegators


        public InternalXabnfParser(TokenStream input) {
            this(input, new RecognizerSharedState());
        }
        public InternalXabnfParser(TokenStream input, RecognizerSharedState state) {
            super(input, state);
             
        }
        

    public String[] getTokenNames() { return InternalXabnfParser.tokenNames; }
    public String getGrammarFileName() { return "../de.thwildau.tm.moses.abnf.ui/src-gen/de/thwildau/tm/moses/xabnf/ui/contentassist/antlr/internal/InternalXabnf.g"; }


     
     	private XabnfGrammarAccess grammarAccess;
     	
        public void setGrammarAccess(XabnfGrammarAccess grammarAccess) {
        	this.grammarAccess = grammarAccess;
        }
        
        @Override
        protected Grammar getGrammar() {
        	return grammarAccess.getGrammar();
        }
        
        @Override
        protected String getValueForTokenName(String tokenName) {
        	return tokenName;
        }




    // $ANTLR start "entryRuleXabnf"
    // ../de.thwildau.tm.moses.abnf.ui/src-gen/de/thwildau/tm/moses/xabnf/ui/contentassist/antlr/internal/InternalXabnf.g:60:1: entryRuleXabnf : ruleXabnf EOF ;
    public final void entryRuleXabnf() throws RecognitionException {
        try {
            // ../de.thwildau.tm.moses.abnf.ui/src-gen/de/thwildau/tm/moses/xabnf/ui/contentassist/antlr/internal/InternalXabnf.g:61:1: ( ruleXabnf EOF )
            // ../de.thwildau.tm.moses.abnf.ui/src-gen/de/thwildau/tm/moses/xabnf/ui/contentassist/antlr/internal/InternalXabnf.g:62:1: ruleXabnf EOF
            {
             before(grammarAccess.getXabnfRule()); 
            pushFollow(FOLLOW_ruleXabnf_in_entryRuleXabnf61);
            ruleXabnf();

            state._fsp--;

             after(grammarAccess.getXabnfRule()); 
            match(input,EOF,FOLLOW_EOF_in_entryRuleXabnf68); 

            }

        }
        catch (RecognitionException re) {
            reportError(re);
            recover(input,re);
        }
        finally {
        }
        return ;
    }
    // $ANTLR end "entryRuleXabnf"


    // $ANTLR start "ruleXabnf"
    // ../de.thwildau.tm.moses.abnf.ui/src-gen/de/thwildau/tm/moses/xabnf/ui/contentassist/antlr/internal/InternalXabnf.g:69:1: ruleXabnf : ( ( rule__Xabnf__Group__0 ) ) ;
    public final void ruleXabnf() throws RecognitionException {

        		int stackSize = keepStackSize();
            
        try {
            // ../de.thwildau.tm.moses.abnf.ui/src-gen/de/thwildau/tm/moses/xabnf/ui/contentassist/antlr/internal/InternalXabnf.g:73:2: ( ( ( rule__Xabnf__Group__0 ) ) )
            // ../de.thwildau.tm.moses.abnf.ui/src-gen/de/thwildau/tm/moses/xabnf/ui/contentassist/antlr/internal/InternalXabnf.g:74:1: ( ( rule__Xabnf__Group__0 ) )
            {
            // ../de.thwildau.tm.moses.abnf.ui/src-gen/de/thwildau/tm/moses/xabnf/ui/contentassist/antlr/internal/InternalXabnf.g:74:1: ( ( rule__Xabnf__Group__0 ) )
            // ../de.thwildau.tm.moses.abnf.ui/src-gen/de/thwildau/tm/moses/xabnf/ui/contentassist/antlr/internal/InternalXabnf.g:75:1: ( rule__Xabnf__Group__0 )
            {
             before(grammarAccess.getXabnfAccess().getGroup()); 
            // ../de.thwildau.tm.moses.abnf.ui/src-gen/de/thwildau/tm/moses/xabnf/ui/contentassist/antlr/internal/InternalXabnf.g:76:1: ( rule__Xabnf__Group__0 )
            // ../de.thwildau.tm.moses.abnf.ui/src-gen/de/thwildau/tm/moses/xabnf/ui/contentassist/antlr/internal/InternalXabnf.g:76:2: rule__Xabnf__Group__0
            {
            pushFollow(FOLLOW_rule__Xabnf__Group__0_in_ruleXabnf94);
            rule__Xabnf__Group__0();

            state._fsp--;


            }

             after(grammarAccess.getXabnfAccess().getGroup()); 

            }


            }

        }
        catch (RecognitionException re) {
            reportError(re);
            recover(input,re);
        }
        finally {

            	restoreStackSize(stackSize);

        }
        return ;
    }
    // $ANTLR end "ruleXabnf"


    // $ANTLR start "entryRuleGeneratorModel"
    // ../de.thwildau.tm.moses.abnf.ui/src-gen/de/thwildau/tm/moses/xabnf/ui/contentassist/antlr/internal/InternalXabnf.g:88:1: entryRuleGeneratorModel : ruleGeneratorModel EOF ;
    public final void entryRuleGeneratorModel() throws RecognitionException {
        try {
            // ../de.thwildau.tm.moses.abnf.ui/src-gen/de/thwildau/tm/moses/xabnf/ui/contentassist/antlr/internal/InternalXabnf.g:89:1: ( ruleGeneratorModel EOF )
            // ../de.thwildau.tm.moses.abnf.ui/src-gen/de/thwildau/tm/moses/xabnf/ui/contentassist/antlr/internal/InternalXabnf.g:90:1: ruleGeneratorModel EOF
            {
             before(grammarAccess.getGeneratorModelRule()); 
            pushFollow(FOLLOW_ruleGeneratorModel_in_entryRuleGeneratorModel121);
            ruleGeneratorModel();

            state._fsp--;

             after(grammarAccess.getGeneratorModelRule()); 
            match(input,EOF,FOLLOW_EOF_in_entryRuleGeneratorModel128); 

            }

        }
        catch (RecognitionException re) {
            reportError(re);
            recover(input,re);
        }
        finally {
        }
        return ;
    }
    // $ANTLR end "entryRuleGeneratorModel"


    // $ANTLR start "ruleGeneratorModel"
    // ../de.thwildau.tm.moses.abnf.ui/src-gen/de/thwildau/tm/moses/xabnf/ui/contentassist/antlr/internal/InternalXabnf.g:97:1: ruleGeneratorModel : ( ( rule__GeneratorModel__UnorderedGroup ) ) ;
    public final void ruleGeneratorModel() throws RecognitionException {

        		int stackSize = keepStackSize();
            
        try {
            // ../de.thwildau.tm.moses.abnf.ui/src-gen/de/thwildau/tm/moses/xabnf/ui/contentassist/antlr/internal/InternalXabnf.g:101:2: ( ( ( rule__GeneratorModel__UnorderedGroup ) ) )
            // ../de.thwildau.tm.moses.abnf.ui/src-gen/de/thwildau/tm/moses/xabnf/ui/contentassist/antlr/internal/InternalXabnf.g:102:1: ( ( rule__GeneratorModel__UnorderedGroup ) )
            {
            // ../de.thwildau.tm.moses.abnf.ui/src-gen/de/thwildau/tm/moses/xabnf/ui/contentassist/antlr/internal/InternalXabnf.g:102:1: ( ( rule__GeneratorModel__UnorderedGroup ) )
            // ../de.thwildau.tm.moses.abnf.ui/src-gen/de/thwildau/tm/moses/xabnf/ui/contentassist/antlr/internal/InternalXabnf.g:103:1: ( rule__GeneratorModel__UnorderedGroup )
            {
             before(grammarAccess.getGeneratorModelAccess().getUnorderedGroup()); 
            // ../de.thwildau.tm.moses.abnf.ui/src-gen/de/thwildau/tm/moses/xabnf/ui/contentassist/antlr/internal/InternalXabnf.g:104:1: ( rule__GeneratorModel__UnorderedGroup )
            // ../de.thwildau.tm.moses.abnf.ui/src-gen/de/thwildau/tm/moses/xabnf/ui/contentassist/antlr/internal/InternalXabnf.g:104:2: rule__GeneratorModel__UnorderedGroup
            {
            pushFollow(FOLLOW_rule__GeneratorModel__UnorderedGroup_in_ruleGeneratorModel154);
            rule__GeneratorModel__UnorderedGroup();

            state._fsp--;


            }

             after(grammarAccess.getGeneratorModelAccess().getUnorderedGroup()); 

            }


            }

        }
        catch (RecognitionException re) {
            reportError(re);
            recover(input,re);
        }
        finally {

            	restoreStackSize(stackSize);

        }
        return ;
    }
    // $ANTLR end "ruleGeneratorModel"


    // $ANTLR start "entryRuleBindings"
    // ../de.thwildau.tm.moses.abnf.ui/src-gen/de/thwildau/tm/moses/xabnf/ui/contentassist/antlr/internal/InternalXabnf.g:116:1: entryRuleBindings : ruleBindings EOF ;
    public final void entryRuleBindings() throws RecognitionException {
        try {
            // ../de.thwildau.tm.moses.abnf.ui/src-gen/de/thwildau/tm/moses/xabnf/ui/contentassist/antlr/internal/InternalXabnf.g:117:1: ( ruleBindings EOF )
            // ../de.thwildau.tm.moses.abnf.ui/src-gen/de/thwildau/tm/moses/xabnf/ui/contentassist/antlr/internal/InternalXabnf.g:118:1: ruleBindings EOF
            {
             before(grammarAccess.getBindingsRule()); 
            pushFollow(FOLLOW_ruleBindings_in_entryRuleBindings181);
            ruleBindings();

            state._fsp--;

             after(grammarAccess.getBindingsRule()); 
            match(input,EOF,FOLLOW_EOF_in_entryRuleBindings188); 

            }

        }
        catch (RecognitionException re) {
            reportError(re);
            recover(input,re);
        }
        finally {
        }
        return ;
    }
    // $ANTLR end "entryRuleBindings"


    // $ANTLR start "ruleBindings"
    // ../de.thwildau.tm.moses.abnf.ui/src-gen/de/thwildau/tm/moses/xabnf/ui/contentassist/antlr/internal/InternalXabnf.g:125:1: ruleBindings : ( ( rule__Bindings__Group__0 ) ) ;
    public final void ruleBindings() throws RecognitionException {

        		int stackSize = keepStackSize();
            
        try {
            // ../de.thwildau.tm.moses.abnf.ui/src-gen/de/thwildau/tm/moses/xabnf/ui/contentassist/antlr/internal/InternalXabnf.g:129:2: ( ( ( rule__Bindings__Group__0 ) ) )
            // ../de.thwildau.tm.moses.abnf.ui/src-gen/de/thwildau/tm/moses/xabnf/ui/contentassist/antlr/internal/InternalXabnf.g:130:1: ( ( rule__Bindings__Group__0 ) )
            {
            // ../de.thwildau.tm.moses.abnf.ui/src-gen/de/thwildau/tm/moses/xabnf/ui/contentassist/antlr/internal/InternalXabnf.g:130:1: ( ( rule__Bindings__Group__0 ) )
            // ../de.thwildau.tm.moses.abnf.ui/src-gen/de/thwildau/tm/moses/xabnf/ui/contentassist/antlr/internal/InternalXabnf.g:131:1: ( rule__Bindings__Group__0 )
            {
             before(grammarAccess.getBindingsAccess().getGroup()); 
            // ../de.thwildau.tm.moses.abnf.ui/src-gen/de/thwildau/tm/moses/xabnf/ui/contentassist/antlr/internal/InternalXabnf.g:132:1: ( rule__Bindings__Group__0 )
            // ../de.thwildau.tm.moses.abnf.ui/src-gen/de/thwildau/tm/moses/xabnf/ui/contentassist/antlr/internal/InternalXabnf.g:132:2: rule__Bindings__Group__0
            {
            pushFollow(FOLLOW_rule__Bindings__Group__0_in_ruleBindings214);
            rule__Bindings__Group__0();

            state._fsp--;


            }

             after(grammarAccess.getBindingsAccess().getGroup()); 

            }


            }

        }
        catch (RecognitionException re) {
            reportError(re);
            recover(input,re);
        }
        finally {

            	restoreStackSize(stackSize);

        }
        return ;
    }
    // $ANTLR end "ruleBindings"


    // $ANTLR start "entryRuleBinding"
    // ../de.thwildau.tm.moses.abnf.ui/src-gen/de/thwildau/tm/moses/xabnf/ui/contentassist/antlr/internal/InternalXabnf.g:144:1: entryRuleBinding : ruleBinding EOF ;
    public final void entryRuleBinding() throws RecognitionException {
        try {
            // ../de.thwildau.tm.moses.abnf.ui/src-gen/de/thwildau/tm/moses/xabnf/ui/contentassist/antlr/internal/InternalXabnf.g:145:1: ( ruleBinding EOF )
            // ../de.thwildau.tm.moses.abnf.ui/src-gen/de/thwildau/tm/moses/xabnf/ui/contentassist/antlr/internal/InternalXabnf.g:146:1: ruleBinding EOF
            {
             before(grammarAccess.getBindingRule()); 
            pushFollow(FOLLOW_ruleBinding_in_entryRuleBinding241);
            ruleBinding();

            state._fsp--;

             after(grammarAccess.getBindingRule()); 
            match(input,EOF,FOLLOW_EOF_in_entryRuleBinding248); 

            }

        }
        catch (RecognitionException re) {
            reportError(re);
            recover(input,re);
        }
        finally {
        }
        return ;
    }
    // $ANTLR end "entryRuleBinding"


    // $ANTLR start "ruleBinding"
    // ../de.thwildau.tm.moses.abnf.ui/src-gen/de/thwildau/tm/moses/xabnf/ui/contentassist/antlr/internal/InternalXabnf.g:153:1: ruleBinding : ( ( rule__Binding__Alternatives ) ) ;
    public final void ruleBinding() throws RecognitionException {

        		int stackSize = keepStackSize();
            
        try {
            // ../de.thwildau.tm.moses.abnf.ui/src-gen/de/thwildau/tm/moses/xabnf/ui/contentassist/antlr/internal/InternalXabnf.g:157:2: ( ( ( rule__Binding__Alternatives ) ) )
            // ../de.thwildau.tm.moses.abnf.ui/src-gen/de/thwildau/tm/moses/xabnf/ui/contentassist/antlr/internal/InternalXabnf.g:158:1: ( ( rule__Binding__Alternatives ) )
            {
            // ../de.thwildau.tm.moses.abnf.ui/src-gen/de/thwildau/tm/moses/xabnf/ui/contentassist/antlr/internal/InternalXabnf.g:158:1: ( ( rule__Binding__Alternatives ) )
            // ../de.thwildau.tm.moses.abnf.ui/src-gen/de/thwildau/tm/moses/xabnf/ui/contentassist/antlr/internal/InternalXabnf.g:159:1: ( rule__Binding__Alternatives )
            {
             before(grammarAccess.getBindingAccess().getAlternatives()); 
            // ../de.thwildau.tm.moses.abnf.ui/src-gen/de/thwildau/tm/moses/xabnf/ui/contentassist/antlr/internal/InternalXabnf.g:160:1: ( rule__Binding__Alternatives )
            // ../de.thwildau.tm.moses.abnf.ui/src-gen/de/thwildau/tm/moses/xabnf/ui/contentassist/antlr/internal/InternalXabnf.g:160:2: rule__Binding__Alternatives
            {
            pushFollow(FOLLOW_rule__Binding__Alternatives_in_ruleBinding274);
            rule__Binding__Alternatives();

            state._fsp--;


            }

             after(grammarAccess.getBindingAccess().getAlternatives()); 

            }


            }

        }
        catch (RecognitionException re) {
            reportError(re);
            recover(input,re);
        }
        finally {

            	restoreStackSize(stackSize);

        }
        return ;
    }
    // $ANTLR end "ruleBinding"


    // $ANTLR start "entryRuleRuleBinding"
    // ../de.thwildau.tm.moses.abnf.ui/src-gen/de/thwildau/tm/moses/xabnf/ui/contentassist/antlr/internal/InternalXabnf.g:172:1: entryRuleRuleBinding : ruleRuleBinding EOF ;
    public final void entryRuleRuleBinding() throws RecognitionException {
        try {
            // ../de.thwildau.tm.moses.abnf.ui/src-gen/de/thwildau/tm/moses/xabnf/ui/contentassist/antlr/internal/InternalXabnf.g:173:1: ( ruleRuleBinding EOF )
            // ../de.thwildau.tm.moses.abnf.ui/src-gen/de/thwildau/tm/moses/xabnf/ui/contentassist/antlr/internal/InternalXabnf.g:174:1: ruleRuleBinding EOF
            {
             before(grammarAccess.getRuleBindingRule()); 
            pushFollow(FOLLOW_ruleRuleBinding_in_entryRuleRuleBinding301);
            ruleRuleBinding();

            state._fsp--;

             after(grammarAccess.getRuleBindingRule()); 
            match(input,EOF,FOLLOW_EOF_in_entryRuleRuleBinding308); 

            }

        }
        catch (RecognitionException re) {
            reportError(re);
            recover(input,re);
        }
        finally {
        }
        return ;
    }
    // $ANTLR end "entryRuleRuleBinding"


    // $ANTLR start "ruleRuleBinding"
    // ../de.thwildau.tm.moses.abnf.ui/src-gen/de/thwildau/tm/moses/xabnf/ui/contentassist/antlr/internal/InternalXabnf.g:181:1: ruleRuleBinding : ( ( rule__RuleBinding__Group__0 ) ) ;
    public final void ruleRuleBinding() throws RecognitionException {

        		int stackSize = keepStackSize();
            
        try {
            // ../de.thwildau.tm.moses.abnf.ui/src-gen/de/thwildau/tm/moses/xabnf/ui/contentassist/antlr/internal/InternalXabnf.g:185:2: ( ( ( rule__RuleBinding__Group__0 ) ) )
            // ../de.thwildau.tm.moses.abnf.ui/src-gen/de/thwildau/tm/moses/xabnf/ui/contentassist/antlr/internal/InternalXabnf.g:186:1: ( ( rule__RuleBinding__Group__0 ) )
            {
            // ../de.thwildau.tm.moses.abnf.ui/src-gen/de/thwildau/tm/moses/xabnf/ui/contentassist/antlr/internal/InternalXabnf.g:186:1: ( ( rule__RuleBinding__Group__0 ) )
            // ../de.thwildau.tm.moses.abnf.ui/src-gen/de/thwildau/tm/moses/xabnf/ui/contentassist/antlr/internal/InternalXabnf.g:187:1: ( rule__RuleBinding__Group__0 )
            {
             before(grammarAccess.getRuleBindingAccess().getGroup()); 
            // ../de.thwildau.tm.moses.abnf.ui/src-gen/de/thwildau/tm/moses/xabnf/ui/contentassist/antlr/internal/InternalXabnf.g:188:1: ( rule__RuleBinding__Group__0 )
            // ../de.thwildau.tm.moses.abnf.ui/src-gen/de/thwildau/tm/moses/xabnf/ui/contentassist/antlr/internal/InternalXabnf.g:188:2: rule__RuleBinding__Group__0
            {
            pushFollow(FOLLOW_rule__RuleBinding__Group__0_in_ruleRuleBinding334);
            rule__RuleBinding__Group__0();

            state._fsp--;


            }

             after(grammarAccess.getRuleBindingAccess().getGroup()); 

            }


            }

        }
        catch (RecognitionException re) {
            reportError(re);
            recover(input,re);
        }
        finally {

            	restoreStackSize(stackSize);

        }
        return ;
    }
    // $ANTLR end "ruleRuleBinding"


    // $ANTLR start "entryRuleFieldBinding"
    // ../de.thwildau.tm.moses.abnf.ui/src-gen/de/thwildau/tm/moses/xabnf/ui/contentassist/antlr/internal/InternalXabnf.g:200:1: entryRuleFieldBinding : ruleFieldBinding EOF ;
    public final void entryRuleFieldBinding() throws RecognitionException {
        try {
            // ../de.thwildau.tm.moses.abnf.ui/src-gen/de/thwildau/tm/moses/xabnf/ui/contentassist/antlr/internal/InternalXabnf.g:201:1: ( ruleFieldBinding EOF )
            // ../de.thwildau.tm.moses.abnf.ui/src-gen/de/thwildau/tm/moses/xabnf/ui/contentassist/antlr/internal/InternalXabnf.g:202:1: ruleFieldBinding EOF
            {
             before(grammarAccess.getFieldBindingRule()); 
            pushFollow(FOLLOW_ruleFieldBinding_in_entryRuleFieldBinding361);
            ruleFieldBinding();

            state._fsp--;

             after(grammarAccess.getFieldBindingRule()); 
            match(input,EOF,FOLLOW_EOF_in_entryRuleFieldBinding368); 

            }

        }
        catch (RecognitionException re) {
            reportError(re);
            recover(input,re);
        }
        finally {
        }
        return ;
    }
    // $ANTLR end "entryRuleFieldBinding"


    // $ANTLR start "ruleFieldBinding"
    // ../de.thwildau.tm.moses.abnf.ui/src-gen/de/thwildau/tm/moses/xabnf/ui/contentassist/antlr/internal/InternalXabnf.g:209:1: ruleFieldBinding : ( ( rule__FieldBinding__Group__0 ) ) ;
    public final void ruleFieldBinding() throws RecognitionException {

        		int stackSize = keepStackSize();
            
        try {
            // ../de.thwildau.tm.moses.abnf.ui/src-gen/de/thwildau/tm/moses/xabnf/ui/contentassist/antlr/internal/InternalXabnf.g:213:2: ( ( ( rule__FieldBinding__Group__0 ) ) )
            // ../de.thwildau.tm.moses.abnf.ui/src-gen/de/thwildau/tm/moses/xabnf/ui/contentassist/antlr/internal/InternalXabnf.g:214:1: ( ( rule__FieldBinding__Group__0 ) )
            {
            // ../de.thwildau.tm.moses.abnf.ui/src-gen/de/thwildau/tm/moses/xabnf/ui/contentassist/antlr/internal/InternalXabnf.g:214:1: ( ( rule__FieldBinding__Group__0 ) )
            // ../de.thwildau.tm.moses.abnf.ui/src-gen/de/thwildau/tm/moses/xabnf/ui/contentassist/antlr/internal/InternalXabnf.g:215:1: ( rule__FieldBinding__Group__0 )
            {
             before(grammarAccess.getFieldBindingAccess().getGroup()); 
            // ../de.thwildau.tm.moses.abnf.ui/src-gen/de/thwildau/tm/moses/xabnf/ui/contentassist/antlr/internal/InternalXabnf.g:216:1: ( rule__FieldBinding__Group__0 )
            // ../de.thwildau.tm.moses.abnf.ui/src-gen/de/thwildau/tm/moses/xabnf/ui/contentassist/antlr/internal/InternalXabnf.g:216:2: rule__FieldBinding__Group__0
            {
            pushFollow(FOLLOW_rule__FieldBinding__Group__0_in_ruleFieldBinding394);
            rule__FieldBinding__Group__0();

            state._fsp--;


            }

             after(grammarAccess.getFieldBindingAccess().getGroup()); 

            }


            }

        }
        catch (RecognitionException re) {
            reportError(re);
            recover(input,re);
        }
        finally {

            	restoreStackSize(stackSize);

        }
        return ;
    }
    // $ANTLR end "ruleFieldBinding"


    // $ANTLR start "entryRuleClassBinding"
    // ../de.thwildau.tm.moses.abnf.ui/src-gen/de/thwildau/tm/moses/xabnf/ui/contentassist/antlr/internal/InternalXabnf.g:228:1: entryRuleClassBinding : ruleClassBinding EOF ;
    public final void entryRuleClassBinding() throws RecognitionException {
        try {
            // ../de.thwildau.tm.moses.abnf.ui/src-gen/de/thwildau/tm/moses/xabnf/ui/contentassist/antlr/internal/InternalXabnf.g:229:1: ( ruleClassBinding EOF )
            // ../de.thwildau.tm.moses.abnf.ui/src-gen/de/thwildau/tm/moses/xabnf/ui/contentassist/antlr/internal/InternalXabnf.g:230:1: ruleClassBinding EOF
            {
             before(grammarAccess.getClassBindingRule()); 
            pushFollow(FOLLOW_ruleClassBinding_in_entryRuleClassBinding421);
            ruleClassBinding();

            state._fsp--;

             after(grammarAccess.getClassBindingRule()); 
            match(input,EOF,FOLLOW_EOF_in_entryRuleClassBinding428); 

            }

        }
        catch (RecognitionException re) {
            reportError(re);
            recover(input,re);
        }
        finally {
        }
        return ;
    }
    // $ANTLR end "entryRuleClassBinding"


    // $ANTLR start "ruleClassBinding"
    // ../de.thwildau.tm.moses.abnf.ui/src-gen/de/thwildau/tm/moses/xabnf/ui/contentassist/antlr/internal/InternalXabnf.g:237:1: ruleClassBinding : ( ( rule__ClassBinding__Group__0 ) ) ;
    public final void ruleClassBinding() throws RecognitionException {

        		int stackSize = keepStackSize();
            
        try {
            // ../de.thwildau.tm.moses.abnf.ui/src-gen/de/thwildau/tm/moses/xabnf/ui/contentassist/antlr/internal/InternalXabnf.g:241:2: ( ( ( rule__ClassBinding__Group__0 ) ) )
            // ../de.thwildau.tm.moses.abnf.ui/src-gen/de/thwildau/tm/moses/xabnf/ui/contentassist/antlr/internal/InternalXabnf.g:242:1: ( ( rule__ClassBinding__Group__0 ) )
            {
            // ../de.thwildau.tm.moses.abnf.ui/src-gen/de/thwildau/tm/moses/xabnf/ui/contentassist/antlr/internal/InternalXabnf.g:242:1: ( ( rule__ClassBinding__Group__0 ) )
            // ../de.thwildau.tm.moses.abnf.ui/src-gen/de/thwildau/tm/moses/xabnf/ui/contentassist/antlr/internal/InternalXabnf.g:243:1: ( rule__ClassBinding__Group__0 )
            {
             before(grammarAccess.getClassBindingAccess().getGroup()); 
            // ../de.thwildau.tm.moses.abnf.ui/src-gen/de/thwildau/tm/moses/xabnf/ui/contentassist/antlr/internal/InternalXabnf.g:244:1: ( rule__ClassBinding__Group__0 )
            // ../de.thwildau.tm.moses.abnf.ui/src-gen/de/thwildau/tm/moses/xabnf/ui/contentassist/antlr/internal/InternalXabnf.g:244:2: rule__ClassBinding__Group__0
            {
            pushFollow(FOLLOW_rule__ClassBinding__Group__0_in_ruleClassBinding454);
            rule__ClassBinding__Group__0();

            state._fsp--;


            }

             after(grammarAccess.getClassBindingAccess().getGroup()); 

            }


            }

        }
        catch (RecognitionException re) {
            reportError(re);
            recover(input,re);
        }
        finally {

            	restoreStackSize(stackSize);

        }
        return ;
    }
    // $ANTLR end "ruleClassBinding"


    // $ANTLR start "ruleLanguage"
    // ../de.thwildau.tm.moses.abnf.ui/src-gen/de/thwildau/tm/moses/xabnf/ui/contentassist/antlr/internal/InternalXabnf.g:257:1: ruleLanguage : ( ( rule__Language__Alternatives ) ) ;
    public final void ruleLanguage() throws RecognitionException {

        		int stackSize = keepStackSize();
            
        try {
            // ../de.thwildau.tm.moses.abnf.ui/src-gen/de/thwildau/tm/moses/xabnf/ui/contentassist/antlr/internal/InternalXabnf.g:261:1: ( ( ( rule__Language__Alternatives ) ) )
            // ../de.thwildau.tm.moses.abnf.ui/src-gen/de/thwildau/tm/moses/xabnf/ui/contentassist/antlr/internal/InternalXabnf.g:262:1: ( ( rule__Language__Alternatives ) )
            {
            // ../de.thwildau.tm.moses.abnf.ui/src-gen/de/thwildau/tm/moses/xabnf/ui/contentassist/antlr/internal/InternalXabnf.g:262:1: ( ( rule__Language__Alternatives ) )
            // ../de.thwildau.tm.moses.abnf.ui/src-gen/de/thwildau/tm/moses/xabnf/ui/contentassist/antlr/internal/InternalXabnf.g:263:1: ( rule__Language__Alternatives )
            {
             before(grammarAccess.getLanguageAccess().getAlternatives()); 
            // ../de.thwildau.tm.moses.abnf.ui/src-gen/de/thwildau/tm/moses/xabnf/ui/contentassist/antlr/internal/InternalXabnf.g:264:1: ( rule__Language__Alternatives )
            // ../de.thwildau.tm.moses.abnf.ui/src-gen/de/thwildau/tm/moses/xabnf/ui/contentassist/antlr/internal/InternalXabnf.g:264:2: rule__Language__Alternatives
            {
            pushFollow(FOLLOW_rule__Language__Alternatives_in_ruleLanguage491);
            rule__Language__Alternatives();

            state._fsp--;


            }

             after(grammarAccess.getLanguageAccess().getAlternatives()); 

            }


            }

        }
        catch (RecognitionException re) {
            reportError(re);
            recover(input,re);
        }
        finally {

            	restoreStackSize(stackSize);

        }
        return ;
    }
    // $ANTLR end "ruleLanguage"


    // $ANTLR start "rule__Binding__Alternatives"
    // ../de.thwildau.tm.moses.abnf.ui/src-gen/de/thwildau/tm/moses/xabnf/ui/contentassist/antlr/internal/InternalXabnf.g:275:1: rule__Binding__Alternatives : ( ( ruleRuleBinding ) | ( ruleClassBinding ) );
    public final void rule__Binding__Alternatives() throws RecognitionException {

        		int stackSize = keepStackSize();
            
        try {
            // ../de.thwildau.tm.moses.abnf.ui/src-gen/de/thwildau/tm/moses/xabnf/ui/contentassist/antlr/internal/InternalXabnf.g:279:1: ( ( ruleRuleBinding ) | ( ruleClassBinding ) )
            int alt1=2;
            int LA1_0 = input.LA(1);

            if ( (LA1_0==24) ) {
                int LA1_1 = input.LA(2);

                if ( (LA1_1==RULE_ID) ) {
                    int LA1_2 = input.LA(3);

                    if ( (LA1_2==EOF||LA1_2==15||(LA1_2>=23 && LA1_2<=25)) ) {
                        alt1=1;
                    }
                    else if ( (LA1_2==27) ) {
                        alt1=2;
                    }
                    else {
                        NoViableAltException nvae =
                            new NoViableAltException("", 1, 2, input);

                        throw nvae;
                    }
                }
                else {
                    NoViableAltException nvae =
                        new NoViableAltException("", 1, 1, input);

                    throw nvae;
                }
            }
            else {
                NoViableAltException nvae =
                    new NoViableAltException("", 1, 0, input);

                throw nvae;
            }
            switch (alt1) {
                case 1 :
                    // ../de.thwildau.tm.moses.abnf.ui/src-gen/de/thwildau/tm/moses/xabnf/ui/contentassist/antlr/internal/InternalXabnf.g:280:1: ( ruleRuleBinding )
                    {
                    // ../de.thwildau.tm.moses.abnf.ui/src-gen/de/thwildau/tm/moses/xabnf/ui/contentassist/antlr/internal/InternalXabnf.g:280:1: ( ruleRuleBinding )
                    // ../de.thwildau.tm.moses.abnf.ui/src-gen/de/thwildau/tm/moses/xabnf/ui/contentassist/antlr/internal/InternalXabnf.g:281:1: ruleRuleBinding
                    {
                     before(grammarAccess.getBindingAccess().getRuleBindingParserRuleCall_0()); 
                    pushFollow(FOLLOW_ruleRuleBinding_in_rule__Binding__Alternatives526);
                    ruleRuleBinding();

                    state._fsp--;

                     after(grammarAccess.getBindingAccess().getRuleBindingParserRuleCall_0()); 

                    }


                    }
                    break;
                case 2 :
                    // ../de.thwildau.tm.moses.abnf.ui/src-gen/de/thwildau/tm/moses/xabnf/ui/contentassist/antlr/internal/InternalXabnf.g:286:6: ( ruleClassBinding )
                    {
                    // ../de.thwildau.tm.moses.abnf.ui/src-gen/de/thwildau/tm/moses/xabnf/ui/contentassist/antlr/internal/InternalXabnf.g:286:6: ( ruleClassBinding )
                    // ../de.thwildau.tm.moses.abnf.ui/src-gen/de/thwildau/tm/moses/xabnf/ui/contentassist/antlr/internal/InternalXabnf.g:287:1: ruleClassBinding
                    {
                     before(grammarAccess.getBindingAccess().getClassBindingParserRuleCall_1()); 
                    pushFollow(FOLLOW_ruleClassBinding_in_rule__Binding__Alternatives543);
                    ruleClassBinding();

                    state._fsp--;

                     after(grammarAccess.getBindingAccess().getClassBindingParserRuleCall_1()); 

                    }


                    }
                    break;

            }
        }
        catch (RecognitionException re) {
            reportError(re);
            recover(input,re);
        }
        finally {

            	restoreStackSize(stackSize);

        }
        return ;
    }
    // $ANTLR end "rule__Binding__Alternatives"


    // $ANTLR start "rule__Language__Alternatives"
    // ../de.thwildau.tm.moses.abnf.ui/src-gen/de/thwildau/tm/moses/xabnf/ui/contentassist/antlr/internal/InternalXabnf.g:297:1: rule__Language__Alternatives : ( ( ( 'Java' ) ) | ( ( 'C++' ) ) | ( ( 'C' ) ) );
    public final void rule__Language__Alternatives() throws RecognitionException {

        		int stackSize = keepStackSize();
            
        try {
            // ../de.thwildau.tm.moses.abnf.ui/src-gen/de/thwildau/tm/moses/xabnf/ui/contentassist/antlr/internal/InternalXabnf.g:301:1: ( ( ( 'Java' ) ) | ( ( 'C++' ) ) | ( ( 'C' ) ) )
            int alt2=3;
            switch ( input.LA(1) ) {
            case 11:
                {
                alt2=1;
                }
                break;
            case 12:
                {
                alt2=2;
                }
                break;
            case 13:
                {
                alt2=3;
                }
                break;
            default:
                NoViableAltException nvae =
                    new NoViableAltException("", 2, 0, input);

                throw nvae;
            }

            switch (alt2) {
                case 1 :
                    // ../de.thwildau.tm.moses.abnf.ui/src-gen/de/thwildau/tm/moses/xabnf/ui/contentassist/antlr/internal/InternalXabnf.g:302:1: ( ( 'Java' ) )
                    {
                    // ../de.thwildau.tm.moses.abnf.ui/src-gen/de/thwildau/tm/moses/xabnf/ui/contentassist/antlr/internal/InternalXabnf.g:302:1: ( ( 'Java' ) )
                    // ../de.thwildau.tm.moses.abnf.ui/src-gen/de/thwildau/tm/moses/xabnf/ui/contentassist/antlr/internal/InternalXabnf.g:303:1: ( 'Java' )
                    {
                     before(grammarAccess.getLanguageAccess().getJavaEnumLiteralDeclaration_0()); 
                    // ../de.thwildau.tm.moses.abnf.ui/src-gen/de/thwildau/tm/moses/xabnf/ui/contentassist/antlr/internal/InternalXabnf.g:304:1: ( 'Java' )
                    // ../de.thwildau.tm.moses.abnf.ui/src-gen/de/thwildau/tm/moses/xabnf/ui/contentassist/antlr/internal/InternalXabnf.g:304:3: 'Java'
                    {
                    match(input,11,FOLLOW_11_in_rule__Language__Alternatives576); 

                    }

                     after(grammarAccess.getLanguageAccess().getJavaEnumLiteralDeclaration_0()); 

                    }


                    }
                    break;
                case 2 :
                    // ../de.thwildau.tm.moses.abnf.ui/src-gen/de/thwildau/tm/moses/xabnf/ui/contentassist/antlr/internal/InternalXabnf.g:309:6: ( ( 'C++' ) )
                    {
                    // ../de.thwildau.tm.moses.abnf.ui/src-gen/de/thwildau/tm/moses/xabnf/ui/contentassist/antlr/internal/InternalXabnf.g:309:6: ( ( 'C++' ) )
                    // ../de.thwildau.tm.moses.abnf.ui/src-gen/de/thwildau/tm/moses/xabnf/ui/contentassist/antlr/internal/InternalXabnf.g:310:1: ( 'C++' )
                    {
                     before(grammarAccess.getLanguageAccess().getC_PlusPlusEnumLiteralDeclaration_1()); 
                    // ../de.thwildau.tm.moses.abnf.ui/src-gen/de/thwildau/tm/moses/xabnf/ui/contentassist/antlr/internal/InternalXabnf.g:311:1: ( 'C++' )
                    // ../de.thwildau.tm.moses.abnf.ui/src-gen/de/thwildau/tm/moses/xabnf/ui/contentassist/antlr/internal/InternalXabnf.g:311:3: 'C++'
                    {
                    match(input,12,FOLLOW_12_in_rule__Language__Alternatives597); 

                    }

                     after(grammarAccess.getLanguageAccess().getC_PlusPlusEnumLiteralDeclaration_1()); 

                    }


                    }
                    break;
                case 3 :
                    // ../de.thwildau.tm.moses.abnf.ui/src-gen/de/thwildau/tm/moses/xabnf/ui/contentassist/antlr/internal/InternalXabnf.g:316:6: ( ( 'C' ) )
                    {
                    // ../de.thwildau.tm.moses.abnf.ui/src-gen/de/thwildau/tm/moses/xabnf/ui/contentassist/antlr/internal/InternalXabnf.g:316:6: ( ( 'C' ) )
                    // ../de.thwildau.tm.moses.abnf.ui/src-gen/de/thwildau/tm/moses/xabnf/ui/contentassist/antlr/internal/InternalXabnf.g:317:1: ( 'C' )
                    {
                     before(grammarAccess.getLanguageAccess().getCEnumLiteralDeclaration_2()); 
                    // ../de.thwildau.tm.moses.abnf.ui/src-gen/de/thwildau/tm/moses/xabnf/ui/contentassist/antlr/internal/InternalXabnf.g:318:1: ( 'C' )
                    // ../de.thwildau.tm.moses.abnf.ui/src-gen/de/thwildau/tm/moses/xabnf/ui/contentassist/antlr/internal/InternalXabnf.g:318:3: 'C'
                    {
                    match(input,13,FOLLOW_13_in_rule__Language__Alternatives618); 

                    }

                     after(grammarAccess.getLanguageAccess().getCEnumLiteralDeclaration_2()); 

                    }


                    }
                    break;

            }
        }
        catch (RecognitionException re) {
            reportError(re);
            recover(input,re);
        }
        finally {

            	restoreStackSize(stackSize);

        }
        return ;
    }
    // $ANTLR end "rule__Language__Alternatives"


    // $ANTLR start "rule__Xabnf__Group__0"
    // ../de.thwildau.tm.moses.abnf.ui/src-gen/de/thwildau/tm/moses/xabnf/ui/contentassist/antlr/internal/InternalXabnf.g:330:1: rule__Xabnf__Group__0 : rule__Xabnf__Group__0__Impl rule__Xabnf__Group__1 ;
    public final void rule__Xabnf__Group__0() throws RecognitionException {

        		int stackSize = keepStackSize();
            
        try {
            // ../de.thwildau.tm.moses.abnf.ui/src-gen/de/thwildau/tm/moses/xabnf/ui/contentassist/antlr/internal/InternalXabnf.g:334:1: ( rule__Xabnf__Group__0__Impl rule__Xabnf__Group__1 )
            // ../de.thwildau.tm.moses.abnf.ui/src-gen/de/thwildau/tm/moses/xabnf/ui/contentassist/antlr/internal/InternalXabnf.g:335:2: rule__Xabnf__Group__0__Impl rule__Xabnf__Group__1
            {
            pushFollow(FOLLOW_rule__Xabnf__Group__0__Impl_in_rule__Xabnf__Group__0651);
            rule__Xabnf__Group__0__Impl();

            state._fsp--;

            pushFollow(FOLLOW_rule__Xabnf__Group__1_in_rule__Xabnf__Group__0654);
            rule__Xabnf__Group__1();

            state._fsp--;


            }

        }
        catch (RecognitionException re) {
            reportError(re);
            recover(input,re);
        }
        finally {

            	restoreStackSize(stackSize);

        }
        return ;
    }
    // $ANTLR end "rule__Xabnf__Group__0"


    // $ANTLR start "rule__Xabnf__Group__0__Impl"
    // ../de.thwildau.tm.moses.abnf.ui/src-gen/de/thwildau/tm/moses/xabnf/ui/contentassist/antlr/internal/InternalXabnf.g:342:1: rule__Xabnf__Group__0__Impl : ( ( rule__Xabnf__GeneratorModelAssignment_0 ) ) ;
    public final void rule__Xabnf__Group__0__Impl() throws RecognitionException {

        		int stackSize = keepStackSize();
            
        try {
            // ../de.thwildau.tm.moses.abnf.ui/src-gen/de/thwildau/tm/moses/xabnf/ui/contentassist/antlr/internal/InternalXabnf.g:346:1: ( ( ( rule__Xabnf__GeneratorModelAssignment_0 ) ) )
            // ../de.thwildau.tm.moses.abnf.ui/src-gen/de/thwildau/tm/moses/xabnf/ui/contentassist/antlr/internal/InternalXabnf.g:347:1: ( ( rule__Xabnf__GeneratorModelAssignment_0 ) )
            {
            // ../de.thwildau.tm.moses.abnf.ui/src-gen/de/thwildau/tm/moses/xabnf/ui/contentassist/antlr/internal/InternalXabnf.g:347:1: ( ( rule__Xabnf__GeneratorModelAssignment_0 ) )
            // ../de.thwildau.tm.moses.abnf.ui/src-gen/de/thwildau/tm/moses/xabnf/ui/contentassist/antlr/internal/InternalXabnf.g:348:1: ( rule__Xabnf__GeneratorModelAssignment_0 )
            {
             before(grammarAccess.getXabnfAccess().getGeneratorModelAssignment_0()); 
            // ../de.thwildau.tm.moses.abnf.ui/src-gen/de/thwildau/tm/moses/xabnf/ui/contentassist/antlr/internal/InternalXabnf.g:349:1: ( rule__Xabnf__GeneratorModelAssignment_0 )
            // ../de.thwildau.tm.moses.abnf.ui/src-gen/de/thwildau/tm/moses/xabnf/ui/contentassist/antlr/internal/InternalXabnf.g:349:2: rule__Xabnf__GeneratorModelAssignment_0
            {
            pushFollow(FOLLOW_rule__Xabnf__GeneratorModelAssignment_0_in_rule__Xabnf__Group__0__Impl681);
            rule__Xabnf__GeneratorModelAssignment_0();

            state._fsp--;


            }

             after(grammarAccess.getXabnfAccess().getGeneratorModelAssignment_0()); 

            }


            }

        }
        catch (RecognitionException re) {
            reportError(re);
            recover(input,re);
        }
        finally {

            	restoreStackSize(stackSize);

        }
        return ;
    }
    // $ANTLR end "rule__Xabnf__Group__0__Impl"


    // $ANTLR start "rule__Xabnf__Group__1"
    // ../de.thwildau.tm.moses.abnf.ui/src-gen/de/thwildau/tm/moses/xabnf/ui/contentassist/antlr/internal/InternalXabnf.g:359:1: rule__Xabnf__Group__1 : rule__Xabnf__Group__1__Impl ;
    public final void rule__Xabnf__Group__1() throws RecognitionException {

        		int stackSize = keepStackSize();
            
        try {
            // ../de.thwildau.tm.moses.abnf.ui/src-gen/de/thwildau/tm/moses/xabnf/ui/contentassist/antlr/internal/InternalXabnf.g:363:1: ( rule__Xabnf__Group__1__Impl )
            // ../de.thwildau.tm.moses.abnf.ui/src-gen/de/thwildau/tm/moses/xabnf/ui/contentassist/antlr/internal/InternalXabnf.g:364:2: rule__Xabnf__Group__1__Impl
            {
            pushFollow(FOLLOW_rule__Xabnf__Group__1__Impl_in_rule__Xabnf__Group__1711);
            rule__Xabnf__Group__1__Impl();

            state._fsp--;


            }

        }
        catch (RecognitionException re) {
            reportError(re);
            recover(input,re);
        }
        finally {

            	restoreStackSize(stackSize);

        }
        return ;
    }
    // $ANTLR end "rule__Xabnf__Group__1"


    // $ANTLR start "rule__Xabnf__Group__1__Impl"
    // ../de.thwildau.tm.moses.abnf.ui/src-gen/de/thwildau/tm/moses/xabnf/ui/contentassist/antlr/internal/InternalXabnf.g:370:1: rule__Xabnf__Group__1__Impl : ( ( rule__Xabnf__BindingsAssignment_1 ) ) ;
    public final void rule__Xabnf__Group__1__Impl() throws RecognitionException {

        		int stackSize = keepStackSize();
            
        try {
            // ../de.thwildau.tm.moses.abnf.ui/src-gen/de/thwildau/tm/moses/xabnf/ui/contentassist/antlr/internal/InternalXabnf.g:374:1: ( ( ( rule__Xabnf__BindingsAssignment_1 ) ) )
            // ../de.thwildau.tm.moses.abnf.ui/src-gen/de/thwildau/tm/moses/xabnf/ui/contentassist/antlr/internal/InternalXabnf.g:375:1: ( ( rule__Xabnf__BindingsAssignment_1 ) )
            {
            // ../de.thwildau.tm.moses.abnf.ui/src-gen/de/thwildau/tm/moses/xabnf/ui/contentassist/antlr/internal/InternalXabnf.g:375:1: ( ( rule__Xabnf__BindingsAssignment_1 ) )
            // ../de.thwildau.tm.moses.abnf.ui/src-gen/de/thwildau/tm/moses/xabnf/ui/contentassist/antlr/internal/InternalXabnf.g:376:1: ( rule__Xabnf__BindingsAssignment_1 )
            {
             before(grammarAccess.getXabnfAccess().getBindingsAssignment_1()); 
            // ../de.thwildau.tm.moses.abnf.ui/src-gen/de/thwildau/tm/moses/xabnf/ui/contentassist/antlr/internal/InternalXabnf.g:377:1: ( rule__Xabnf__BindingsAssignment_1 )
            // ../de.thwildau.tm.moses.abnf.ui/src-gen/de/thwildau/tm/moses/xabnf/ui/contentassist/antlr/internal/InternalXabnf.g:377:2: rule__Xabnf__BindingsAssignment_1
            {
            pushFollow(FOLLOW_rule__Xabnf__BindingsAssignment_1_in_rule__Xabnf__Group__1__Impl738);
            rule__Xabnf__BindingsAssignment_1();

            state._fsp--;


            }

             after(grammarAccess.getXabnfAccess().getBindingsAssignment_1()); 

            }


            }

        }
        catch (RecognitionException re) {
            reportError(re);
            recover(input,re);
        }
        finally {

            	restoreStackSize(stackSize);

        }
        return ;
    }
    // $ANTLR end "rule__Xabnf__Group__1__Impl"


    // $ANTLR start "rule__GeneratorModel__Group_0__0"
    // ../de.thwildau.tm.moses.abnf.ui/src-gen/de/thwildau/tm/moses/xabnf/ui/contentassist/antlr/internal/InternalXabnf.g:391:1: rule__GeneratorModel__Group_0__0 : rule__GeneratorModel__Group_0__0__Impl rule__GeneratorModel__Group_0__1 ;
    public final void rule__GeneratorModel__Group_0__0() throws RecognitionException {

        		int stackSize = keepStackSize();
            
        try {
            // ../de.thwildau.tm.moses.abnf.ui/src-gen/de/thwildau/tm/moses/xabnf/ui/contentassist/antlr/internal/InternalXabnf.g:395:1: ( rule__GeneratorModel__Group_0__0__Impl rule__GeneratorModel__Group_0__1 )
            // ../de.thwildau.tm.moses.abnf.ui/src-gen/de/thwildau/tm/moses/xabnf/ui/contentassist/antlr/internal/InternalXabnf.g:396:2: rule__GeneratorModel__Group_0__0__Impl rule__GeneratorModel__Group_0__1
            {
            pushFollow(FOLLOW_rule__GeneratorModel__Group_0__0__Impl_in_rule__GeneratorModel__Group_0__0772);
            rule__GeneratorModel__Group_0__0__Impl();

            state._fsp--;

            pushFollow(FOLLOW_rule__GeneratorModel__Group_0__1_in_rule__GeneratorModel__Group_0__0775);
            rule__GeneratorModel__Group_0__1();

            state._fsp--;


            }

        }
        catch (RecognitionException re) {
            reportError(re);
            recover(input,re);
        }
        finally {

            	restoreStackSize(stackSize);

        }
        return ;
    }
    // $ANTLR end "rule__GeneratorModel__Group_0__0"


    // $ANTLR start "rule__GeneratorModel__Group_0__0__Impl"
    // ../de.thwildau.tm.moses.abnf.ui/src-gen/de/thwildau/tm/moses/xabnf/ui/contentassist/antlr/internal/InternalXabnf.g:403:1: rule__GeneratorModel__Group_0__0__Impl : ( 'GeneratorModel' ) ;
    public final void rule__GeneratorModel__Group_0__0__Impl() throws RecognitionException {

        		int stackSize = keepStackSize();
            
        try {
            // ../de.thwildau.tm.moses.abnf.ui/src-gen/de/thwildau/tm/moses/xabnf/ui/contentassist/antlr/internal/InternalXabnf.g:407:1: ( ( 'GeneratorModel' ) )
            // ../de.thwildau.tm.moses.abnf.ui/src-gen/de/thwildau/tm/moses/xabnf/ui/contentassist/antlr/internal/InternalXabnf.g:408:1: ( 'GeneratorModel' )
            {
            // ../de.thwildau.tm.moses.abnf.ui/src-gen/de/thwildau/tm/moses/xabnf/ui/contentassist/antlr/internal/InternalXabnf.g:408:1: ( 'GeneratorModel' )
            // ../de.thwildau.tm.moses.abnf.ui/src-gen/de/thwildau/tm/moses/xabnf/ui/contentassist/antlr/internal/InternalXabnf.g:409:1: 'GeneratorModel'
            {
             before(grammarAccess.getGeneratorModelAccess().getGeneratorModelKeyword_0_0()); 
            match(input,14,FOLLOW_14_in_rule__GeneratorModel__Group_0__0__Impl803); 
             after(grammarAccess.getGeneratorModelAccess().getGeneratorModelKeyword_0_0()); 

            }


            }

        }
        catch (RecognitionException re) {
            reportError(re);
            recover(input,re);
        }
        finally {

            	restoreStackSize(stackSize);

        }
        return ;
    }
    // $ANTLR end "rule__GeneratorModel__Group_0__0__Impl"


    // $ANTLR start "rule__GeneratorModel__Group_0__1"
    // ../de.thwildau.tm.moses.abnf.ui/src-gen/de/thwildau/tm/moses/xabnf/ui/contentassist/antlr/internal/InternalXabnf.g:422:1: rule__GeneratorModel__Group_0__1 : rule__GeneratorModel__Group_0__1__Impl rule__GeneratorModel__Group_0__2 ;
    public final void rule__GeneratorModel__Group_0__1() throws RecognitionException {

        		int stackSize = keepStackSize();
            
        try {
            // ../de.thwildau.tm.moses.abnf.ui/src-gen/de/thwildau/tm/moses/xabnf/ui/contentassist/antlr/internal/InternalXabnf.g:426:1: ( rule__GeneratorModel__Group_0__1__Impl rule__GeneratorModel__Group_0__2 )
            // ../de.thwildau.tm.moses.abnf.ui/src-gen/de/thwildau/tm/moses/xabnf/ui/contentassist/antlr/internal/InternalXabnf.g:427:2: rule__GeneratorModel__Group_0__1__Impl rule__GeneratorModel__Group_0__2
            {
            pushFollow(FOLLOW_rule__GeneratorModel__Group_0__1__Impl_in_rule__GeneratorModel__Group_0__1834);
            rule__GeneratorModel__Group_0__1__Impl();

            state._fsp--;

            pushFollow(FOLLOW_rule__GeneratorModel__Group_0__2_in_rule__GeneratorModel__Group_0__1837);
            rule__GeneratorModel__Group_0__2();

            state._fsp--;


            }

        }
        catch (RecognitionException re) {
            reportError(re);
            recover(input,re);
        }
        finally {

            	restoreStackSize(stackSize);

        }
        return ;
    }
    // $ANTLR end "rule__GeneratorModel__Group_0__1"


    // $ANTLR start "rule__GeneratorModel__Group_0__1__Impl"
    // ../de.thwildau.tm.moses.abnf.ui/src-gen/de/thwildau/tm/moses/xabnf/ui/contentassist/antlr/internal/InternalXabnf.g:434:1: rule__GeneratorModel__Group_0__1__Impl : ( '{' ) ;
    public final void rule__GeneratorModel__Group_0__1__Impl() throws RecognitionException {

        		int stackSize = keepStackSize();
            
        try {
            // ../de.thwildau.tm.moses.abnf.ui/src-gen/de/thwildau/tm/moses/xabnf/ui/contentassist/antlr/internal/InternalXabnf.g:438:1: ( ( '{' ) )
            // ../de.thwildau.tm.moses.abnf.ui/src-gen/de/thwildau/tm/moses/xabnf/ui/contentassist/antlr/internal/InternalXabnf.g:439:1: ( '{' )
            {
            // ../de.thwildau.tm.moses.abnf.ui/src-gen/de/thwildau/tm/moses/xabnf/ui/contentassist/antlr/internal/InternalXabnf.g:439:1: ( '{' )
            // ../de.thwildau.tm.moses.abnf.ui/src-gen/de/thwildau/tm/moses/xabnf/ui/contentassist/antlr/internal/InternalXabnf.g:440:1: '{'
            {
             before(grammarAccess.getGeneratorModelAccess().getLeftCurlyBracketKeyword_0_1()); 
            match(input,15,FOLLOW_15_in_rule__GeneratorModel__Group_0__1__Impl865); 
             after(grammarAccess.getGeneratorModelAccess().getLeftCurlyBracketKeyword_0_1()); 

            }


            }

        }
        catch (RecognitionException re) {
            reportError(re);
            recover(input,re);
        }
        finally {

            	restoreStackSize(stackSize);

        }
        return ;
    }
    // $ANTLR end "rule__GeneratorModel__Group_0__1__Impl"


    // $ANTLR start "rule__GeneratorModel__Group_0__2"
    // ../de.thwildau.tm.moses.abnf.ui/src-gen/de/thwildau/tm/moses/xabnf/ui/contentassist/antlr/internal/InternalXabnf.g:453:1: rule__GeneratorModel__Group_0__2 : rule__GeneratorModel__Group_0__2__Impl rule__GeneratorModel__Group_0__3 ;
    public final void rule__GeneratorModel__Group_0__2() throws RecognitionException {

        		int stackSize = keepStackSize();
            
        try {
            // ../de.thwildau.tm.moses.abnf.ui/src-gen/de/thwildau/tm/moses/xabnf/ui/contentassist/antlr/internal/InternalXabnf.g:457:1: ( rule__GeneratorModel__Group_0__2__Impl rule__GeneratorModel__Group_0__3 )
            // ../de.thwildau.tm.moses.abnf.ui/src-gen/de/thwildau/tm/moses/xabnf/ui/contentassist/antlr/internal/InternalXabnf.g:458:2: rule__GeneratorModel__Group_0__2__Impl rule__GeneratorModel__Group_0__3
            {
            pushFollow(FOLLOW_rule__GeneratorModel__Group_0__2__Impl_in_rule__GeneratorModel__Group_0__2896);
            rule__GeneratorModel__Group_0__2__Impl();

            state._fsp--;

            pushFollow(FOLLOW_rule__GeneratorModel__Group_0__3_in_rule__GeneratorModel__Group_0__2899);
            rule__GeneratorModel__Group_0__3();

            state._fsp--;


            }

        }
        catch (RecognitionException re) {
            reportError(re);
            recover(input,re);
        }
        finally {

            	restoreStackSize(stackSize);

        }
        return ;
    }
    // $ANTLR end "rule__GeneratorModel__Group_0__2"


    // $ANTLR start "rule__GeneratorModel__Group_0__2__Impl"
    // ../de.thwildau.tm.moses.abnf.ui/src-gen/de/thwildau/tm/moses/xabnf/ui/contentassist/antlr/internal/InternalXabnf.g:465:1: rule__GeneratorModel__Group_0__2__Impl : ( 'file' ) ;
    public final void rule__GeneratorModel__Group_0__2__Impl() throws RecognitionException {

        		int stackSize = keepStackSize();
            
        try {
            // ../de.thwildau.tm.moses.abnf.ui/src-gen/de/thwildau/tm/moses/xabnf/ui/contentassist/antlr/internal/InternalXabnf.g:469:1: ( ( 'file' ) )
            // ../de.thwildau.tm.moses.abnf.ui/src-gen/de/thwildau/tm/moses/xabnf/ui/contentassist/antlr/internal/InternalXabnf.g:470:1: ( 'file' )
            {
            // ../de.thwildau.tm.moses.abnf.ui/src-gen/de/thwildau/tm/moses/xabnf/ui/contentassist/antlr/internal/InternalXabnf.g:470:1: ( 'file' )
            // ../de.thwildau.tm.moses.abnf.ui/src-gen/de/thwildau/tm/moses/xabnf/ui/contentassist/antlr/internal/InternalXabnf.g:471:1: 'file'
            {
             before(grammarAccess.getGeneratorModelAccess().getFileKeyword_0_2()); 
            match(input,16,FOLLOW_16_in_rule__GeneratorModel__Group_0__2__Impl927); 
             after(grammarAccess.getGeneratorModelAccess().getFileKeyword_0_2()); 

            }


            }

        }
        catch (RecognitionException re) {
            reportError(re);
            recover(input,re);
        }
        finally {

            	restoreStackSize(stackSize);

        }
        return ;
    }
    // $ANTLR end "rule__GeneratorModel__Group_0__2__Impl"


    // $ANTLR start "rule__GeneratorModel__Group_0__3"
    // ../de.thwildau.tm.moses.abnf.ui/src-gen/de/thwildau/tm/moses/xabnf/ui/contentassist/antlr/internal/InternalXabnf.g:484:1: rule__GeneratorModel__Group_0__3 : rule__GeneratorModel__Group_0__3__Impl rule__GeneratorModel__Group_0__4 ;
    public final void rule__GeneratorModel__Group_0__3() throws RecognitionException {

        		int stackSize = keepStackSize();
            
        try {
            // ../de.thwildau.tm.moses.abnf.ui/src-gen/de/thwildau/tm/moses/xabnf/ui/contentassist/antlr/internal/InternalXabnf.g:488:1: ( rule__GeneratorModel__Group_0__3__Impl rule__GeneratorModel__Group_0__4 )
            // ../de.thwildau.tm.moses.abnf.ui/src-gen/de/thwildau/tm/moses/xabnf/ui/contentassist/antlr/internal/InternalXabnf.g:489:2: rule__GeneratorModel__Group_0__3__Impl rule__GeneratorModel__Group_0__4
            {
            pushFollow(FOLLOW_rule__GeneratorModel__Group_0__3__Impl_in_rule__GeneratorModel__Group_0__3958);
            rule__GeneratorModel__Group_0__3__Impl();

            state._fsp--;

            pushFollow(FOLLOW_rule__GeneratorModel__Group_0__4_in_rule__GeneratorModel__Group_0__3961);
            rule__GeneratorModel__Group_0__4();

            state._fsp--;


            }

        }
        catch (RecognitionException re) {
            reportError(re);
            recover(input,re);
        }
        finally {

            	restoreStackSize(stackSize);

        }
        return ;
    }
    // $ANTLR end "rule__GeneratorModel__Group_0__3"


    // $ANTLR start "rule__GeneratorModel__Group_0__3__Impl"
    // ../de.thwildau.tm.moses.abnf.ui/src-gen/de/thwildau/tm/moses/xabnf/ui/contentassist/antlr/internal/InternalXabnf.g:496:1: rule__GeneratorModel__Group_0__3__Impl : ( '=' ) ;
    public final void rule__GeneratorModel__Group_0__3__Impl() throws RecognitionException {

        		int stackSize = keepStackSize();
            
        try {
            // ../de.thwildau.tm.moses.abnf.ui/src-gen/de/thwildau/tm/moses/xabnf/ui/contentassist/antlr/internal/InternalXabnf.g:500:1: ( ( '=' ) )
            // ../de.thwildau.tm.moses.abnf.ui/src-gen/de/thwildau/tm/moses/xabnf/ui/contentassist/antlr/internal/InternalXabnf.g:501:1: ( '=' )
            {
            // ../de.thwildau.tm.moses.abnf.ui/src-gen/de/thwildau/tm/moses/xabnf/ui/contentassist/antlr/internal/InternalXabnf.g:501:1: ( '=' )
            // ../de.thwildau.tm.moses.abnf.ui/src-gen/de/thwildau/tm/moses/xabnf/ui/contentassist/antlr/internal/InternalXabnf.g:502:1: '='
            {
             before(grammarAccess.getGeneratorModelAccess().getEqualsSignKeyword_0_3()); 
            match(input,17,FOLLOW_17_in_rule__GeneratorModel__Group_0__3__Impl989); 
             after(grammarAccess.getGeneratorModelAccess().getEqualsSignKeyword_0_3()); 

            }


            }

        }
        catch (RecognitionException re) {
            reportError(re);
            recover(input,re);
        }
        finally {

            	restoreStackSize(stackSize);

        }
        return ;
    }
    // $ANTLR end "rule__GeneratorModel__Group_0__3__Impl"


    // $ANTLR start "rule__GeneratorModel__Group_0__4"
    // ../de.thwildau.tm.moses.abnf.ui/src-gen/de/thwildau/tm/moses/xabnf/ui/contentassist/antlr/internal/InternalXabnf.g:515:1: rule__GeneratorModel__Group_0__4 : rule__GeneratorModel__Group_0__4__Impl ;
    public final void rule__GeneratorModel__Group_0__4() throws RecognitionException {

        		int stackSize = keepStackSize();
            
        try {
            // ../de.thwildau.tm.moses.abnf.ui/src-gen/de/thwildau/tm/moses/xabnf/ui/contentassist/antlr/internal/InternalXabnf.g:519:1: ( rule__GeneratorModel__Group_0__4__Impl )
            // ../de.thwildau.tm.moses.abnf.ui/src-gen/de/thwildau/tm/moses/xabnf/ui/contentassist/antlr/internal/InternalXabnf.g:520:2: rule__GeneratorModel__Group_0__4__Impl
            {
            pushFollow(FOLLOW_rule__GeneratorModel__Group_0__4__Impl_in_rule__GeneratorModel__Group_0__41020);
            rule__GeneratorModel__Group_0__4__Impl();

            state._fsp--;


            }

        }
        catch (RecognitionException re) {
            reportError(re);
            recover(input,re);
        }
        finally {

            	restoreStackSize(stackSize);

        }
        return ;
    }
    // $ANTLR end "rule__GeneratorModel__Group_0__4"


    // $ANTLR start "rule__GeneratorModel__Group_0__4__Impl"
    // ../de.thwildau.tm.moses.abnf.ui/src-gen/de/thwildau/tm/moses/xabnf/ui/contentassist/antlr/internal/InternalXabnf.g:526:1: rule__GeneratorModel__Group_0__4__Impl : ( ( rule__GeneratorModel__FileAssignment_0_4 ) ) ;
    public final void rule__GeneratorModel__Group_0__4__Impl() throws RecognitionException {

        		int stackSize = keepStackSize();
            
        try {
            // ../de.thwildau.tm.moses.abnf.ui/src-gen/de/thwildau/tm/moses/xabnf/ui/contentassist/antlr/internal/InternalXabnf.g:530:1: ( ( ( rule__GeneratorModel__FileAssignment_0_4 ) ) )
            // ../de.thwildau.tm.moses.abnf.ui/src-gen/de/thwildau/tm/moses/xabnf/ui/contentassist/antlr/internal/InternalXabnf.g:531:1: ( ( rule__GeneratorModel__FileAssignment_0_4 ) )
            {
            // ../de.thwildau.tm.moses.abnf.ui/src-gen/de/thwildau/tm/moses/xabnf/ui/contentassist/antlr/internal/InternalXabnf.g:531:1: ( ( rule__GeneratorModel__FileAssignment_0_4 ) )
            // ../de.thwildau.tm.moses.abnf.ui/src-gen/de/thwildau/tm/moses/xabnf/ui/contentassist/antlr/internal/InternalXabnf.g:532:1: ( rule__GeneratorModel__FileAssignment_0_4 )
            {
             before(grammarAccess.getGeneratorModelAccess().getFileAssignment_0_4()); 
            // ../de.thwildau.tm.moses.abnf.ui/src-gen/de/thwildau/tm/moses/xabnf/ui/contentassist/antlr/internal/InternalXabnf.g:533:1: ( rule__GeneratorModel__FileAssignment_0_4 )
            // ../de.thwildau.tm.moses.abnf.ui/src-gen/de/thwildau/tm/moses/xabnf/ui/contentassist/antlr/internal/InternalXabnf.g:533:2: rule__GeneratorModel__FileAssignment_0_4
            {
            pushFollow(FOLLOW_rule__GeneratorModel__FileAssignment_0_4_in_rule__GeneratorModel__Group_0__4__Impl1047);
            rule__GeneratorModel__FileAssignment_0_4();

            state._fsp--;


            }

             after(grammarAccess.getGeneratorModelAccess().getFileAssignment_0_4()); 

            }


            }

        }
        catch (RecognitionException re) {
            reportError(re);
            recover(input,re);
        }
        finally {

            	restoreStackSize(stackSize);

        }
        return ;
    }
    // $ANTLR end "rule__GeneratorModel__Group_0__4__Impl"


    // $ANTLR start "rule__GeneratorModel__Group_1__0"
    // ../de.thwildau.tm.moses.abnf.ui/src-gen/de/thwildau/tm/moses/xabnf/ui/contentassist/antlr/internal/InternalXabnf.g:553:1: rule__GeneratorModel__Group_1__0 : rule__GeneratorModel__Group_1__0__Impl rule__GeneratorModel__Group_1__1 ;
    public final void rule__GeneratorModel__Group_1__0() throws RecognitionException {

        		int stackSize = keepStackSize();
            
        try {
            // ../de.thwildau.tm.moses.abnf.ui/src-gen/de/thwildau/tm/moses/xabnf/ui/contentassist/antlr/internal/InternalXabnf.g:557:1: ( rule__GeneratorModel__Group_1__0__Impl rule__GeneratorModel__Group_1__1 )
            // ../de.thwildau.tm.moses.abnf.ui/src-gen/de/thwildau/tm/moses/xabnf/ui/contentassist/antlr/internal/InternalXabnf.g:558:2: rule__GeneratorModel__Group_1__0__Impl rule__GeneratorModel__Group_1__1
            {
            pushFollow(FOLLOW_rule__GeneratorModel__Group_1__0__Impl_in_rule__GeneratorModel__Group_1__01087);
            rule__GeneratorModel__Group_1__0__Impl();

            state._fsp--;

            pushFollow(FOLLOW_rule__GeneratorModel__Group_1__1_in_rule__GeneratorModel__Group_1__01090);
            rule__GeneratorModel__Group_1__1();

            state._fsp--;


            }

        }
        catch (RecognitionException re) {
            reportError(re);
            recover(input,re);
        }
        finally {

            	restoreStackSize(stackSize);

        }
        return ;
    }
    // $ANTLR end "rule__GeneratorModel__Group_1__0"


    // $ANTLR start "rule__GeneratorModel__Group_1__0__Impl"
    // ../de.thwildau.tm.moses.abnf.ui/src-gen/de/thwildau/tm/moses/xabnf/ui/contentassist/antlr/internal/InternalXabnf.g:565:1: rule__GeneratorModel__Group_1__0__Impl : ( 'language' ) ;
    public final void rule__GeneratorModel__Group_1__0__Impl() throws RecognitionException {

        		int stackSize = keepStackSize();
            
        try {
            // ../de.thwildau.tm.moses.abnf.ui/src-gen/de/thwildau/tm/moses/xabnf/ui/contentassist/antlr/internal/InternalXabnf.g:569:1: ( ( 'language' ) )
            // ../de.thwildau.tm.moses.abnf.ui/src-gen/de/thwildau/tm/moses/xabnf/ui/contentassist/antlr/internal/InternalXabnf.g:570:1: ( 'language' )
            {
            // ../de.thwildau.tm.moses.abnf.ui/src-gen/de/thwildau/tm/moses/xabnf/ui/contentassist/antlr/internal/InternalXabnf.g:570:1: ( 'language' )
            // ../de.thwildau.tm.moses.abnf.ui/src-gen/de/thwildau/tm/moses/xabnf/ui/contentassist/antlr/internal/InternalXabnf.g:571:1: 'language'
            {
             before(grammarAccess.getGeneratorModelAccess().getLanguageKeyword_1_0()); 
            match(input,18,FOLLOW_18_in_rule__GeneratorModel__Group_1__0__Impl1118); 
             after(grammarAccess.getGeneratorModelAccess().getLanguageKeyword_1_0()); 

            }


            }

        }
        catch (RecognitionException re) {
            reportError(re);
            recover(input,re);
        }
        finally {

            	restoreStackSize(stackSize);

        }
        return ;
    }
    // $ANTLR end "rule__GeneratorModel__Group_1__0__Impl"


    // $ANTLR start "rule__GeneratorModel__Group_1__1"
    // ../de.thwildau.tm.moses.abnf.ui/src-gen/de/thwildau/tm/moses/xabnf/ui/contentassist/antlr/internal/InternalXabnf.g:584:1: rule__GeneratorModel__Group_1__1 : rule__GeneratorModel__Group_1__1__Impl rule__GeneratorModel__Group_1__2 ;
    public final void rule__GeneratorModel__Group_1__1() throws RecognitionException {

        		int stackSize = keepStackSize();
            
        try {
            // ../de.thwildau.tm.moses.abnf.ui/src-gen/de/thwildau/tm/moses/xabnf/ui/contentassist/antlr/internal/InternalXabnf.g:588:1: ( rule__GeneratorModel__Group_1__1__Impl rule__GeneratorModel__Group_1__2 )
            // ../de.thwildau.tm.moses.abnf.ui/src-gen/de/thwildau/tm/moses/xabnf/ui/contentassist/antlr/internal/InternalXabnf.g:589:2: rule__GeneratorModel__Group_1__1__Impl rule__GeneratorModel__Group_1__2
            {
            pushFollow(FOLLOW_rule__GeneratorModel__Group_1__1__Impl_in_rule__GeneratorModel__Group_1__11149);
            rule__GeneratorModel__Group_1__1__Impl();

            state._fsp--;

            pushFollow(FOLLOW_rule__GeneratorModel__Group_1__2_in_rule__GeneratorModel__Group_1__11152);
            rule__GeneratorModel__Group_1__2();

            state._fsp--;


            }

        }
        catch (RecognitionException re) {
            reportError(re);
            recover(input,re);
        }
        finally {

            	restoreStackSize(stackSize);

        }
        return ;
    }
    // $ANTLR end "rule__GeneratorModel__Group_1__1"


    // $ANTLR start "rule__GeneratorModel__Group_1__1__Impl"
    // ../de.thwildau.tm.moses.abnf.ui/src-gen/de/thwildau/tm/moses/xabnf/ui/contentassist/antlr/internal/InternalXabnf.g:596:1: rule__GeneratorModel__Group_1__1__Impl : ( '=' ) ;
    public final void rule__GeneratorModel__Group_1__1__Impl() throws RecognitionException {

        		int stackSize = keepStackSize();
            
        try {
            // ../de.thwildau.tm.moses.abnf.ui/src-gen/de/thwildau/tm/moses/xabnf/ui/contentassist/antlr/internal/InternalXabnf.g:600:1: ( ( '=' ) )
            // ../de.thwildau.tm.moses.abnf.ui/src-gen/de/thwildau/tm/moses/xabnf/ui/contentassist/antlr/internal/InternalXabnf.g:601:1: ( '=' )
            {
            // ../de.thwildau.tm.moses.abnf.ui/src-gen/de/thwildau/tm/moses/xabnf/ui/contentassist/antlr/internal/InternalXabnf.g:601:1: ( '=' )
            // ../de.thwildau.tm.moses.abnf.ui/src-gen/de/thwildau/tm/moses/xabnf/ui/contentassist/antlr/internal/InternalXabnf.g:602:1: '='
            {
             before(grammarAccess.getGeneratorModelAccess().getEqualsSignKeyword_1_1()); 
            match(input,17,FOLLOW_17_in_rule__GeneratorModel__Group_1__1__Impl1180); 
             after(grammarAccess.getGeneratorModelAccess().getEqualsSignKeyword_1_1()); 

            }


            }

        }
        catch (RecognitionException re) {
            reportError(re);
            recover(input,re);
        }
        finally {

            	restoreStackSize(stackSize);

        }
        return ;
    }
    // $ANTLR end "rule__GeneratorModel__Group_1__1__Impl"


    // $ANTLR start "rule__GeneratorModel__Group_1__2"
    // ../de.thwildau.tm.moses.abnf.ui/src-gen/de/thwildau/tm/moses/xabnf/ui/contentassist/antlr/internal/InternalXabnf.g:615:1: rule__GeneratorModel__Group_1__2 : rule__GeneratorModel__Group_1__2__Impl ;
    public final void rule__GeneratorModel__Group_1__2() throws RecognitionException {

        		int stackSize = keepStackSize();
            
        try {
            // ../de.thwildau.tm.moses.abnf.ui/src-gen/de/thwildau/tm/moses/xabnf/ui/contentassist/antlr/internal/InternalXabnf.g:619:1: ( rule__GeneratorModel__Group_1__2__Impl )
            // ../de.thwildau.tm.moses.abnf.ui/src-gen/de/thwildau/tm/moses/xabnf/ui/contentassist/antlr/internal/InternalXabnf.g:620:2: rule__GeneratorModel__Group_1__2__Impl
            {
            pushFollow(FOLLOW_rule__GeneratorModel__Group_1__2__Impl_in_rule__GeneratorModel__Group_1__21211);
            rule__GeneratorModel__Group_1__2__Impl();

            state._fsp--;


            }

        }
        catch (RecognitionException re) {
            reportError(re);
            recover(input,re);
        }
        finally {

            	restoreStackSize(stackSize);

        }
        return ;
    }
    // $ANTLR end "rule__GeneratorModel__Group_1__2"


    // $ANTLR start "rule__GeneratorModel__Group_1__2__Impl"
    // ../de.thwildau.tm.moses.abnf.ui/src-gen/de/thwildau/tm/moses/xabnf/ui/contentassist/antlr/internal/InternalXabnf.g:626:1: rule__GeneratorModel__Group_1__2__Impl : ( ( rule__GeneratorModel__LanguageAssignment_1_2 ) ) ;
    public final void rule__GeneratorModel__Group_1__2__Impl() throws RecognitionException {

        		int stackSize = keepStackSize();
            
        try {
            // ../de.thwildau.tm.moses.abnf.ui/src-gen/de/thwildau/tm/moses/xabnf/ui/contentassist/antlr/internal/InternalXabnf.g:630:1: ( ( ( rule__GeneratorModel__LanguageAssignment_1_2 ) ) )
            // ../de.thwildau.tm.moses.abnf.ui/src-gen/de/thwildau/tm/moses/xabnf/ui/contentassist/antlr/internal/InternalXabnf.g:631:1: ( ( rule__GeneratorModel__LanguageAssignment_1_2 ) )
            {
            // ../de.thwildau.tm.moses.abnf.ui/src-gen/de/thwildau/tm/moses/xabnf/ui/contentassist/antlr/internal/InternalXabnf.g:631:1: ( ( rule__GeneratorModel__LanguageAssignment_1_2 ) )
            // ../de.thwildau.tm.moses.abnf.ui/src-gen/de/thwildau/tm/moses/xabnf/ui/contentassist/antlr/internal/InternalXabnf.g:632:1: ( rule__GeneratorModel__LanguageAssignment_1_2 )
            {
             before(grammarAccess.getGeneratorModelAccess().getLanguageAssignment_1_2()); 
            // ../de.thwildau.tm.moses.abnf.ui/src-gen/de/thwildau/tm/moses/xabnf/ui/contentassist/antlr/internal/InternalXabnf.g:633:1: ( rule__GeneratorModel__LanguageAssignment_1_2 )
            // ../de.thwildau.tm.moses.abnf.ui/src-gen/de/thwildau/tm/moses/xabnf/ui/contentassist/antlr/internal/InternalXabnf.g:633:2: rule__GeneratorModel__LanguageAssignment_1_2
            {
            pushFollow(FOLLOW_rule__GeneratorModel__LanguageAssignment_1_2_in_rule__GeneratorModel__Group_1__2__Impl1238);
            rule__GeneratorModel__LanguageAssignment_1_2();

            state._fsp--;


            }

             after(grammarAccess.getGeneratorModelAccess().getLanguageAssignment_1_2()); 

            }


            }

        }
        catch (RecognitionException re) {
            reportError(re);
            recover(input,re);
        }
        finally {

            	restoreStackSize(stackSize);

        }
        return ;
    }
    // $ANTLR end "rule__GeneratorModel__Group_1__2__Impl"


    // $ANTLR start "rule__GeneratorModel__Group_2__0"
    // ../de.thwildau.tm.moses.abnf.ui/src-gen/de/thwildau/tm/moses/xabnf/ui/contentassist/antlr/internal/InternalXabnf.g:649:1: rule__GeneratorModel__Group_2__0 : rule__GeneratorModel__Group_2__0__Impl rule__GeneratorModel__Group_2__1 ;
    public final void rule__GeneratorModel__Group_2__0() throws RecognitionException {

        		int stackSize = keepStackSize();
            
        try {
            // ../de.thwildau.tm.moses.abnf.ui/src-gen/de/thwildau/tm/moses/xabnf/ui/contentassist/antlr/internal/InternalXabnf.g:653:1: ( rule__GeneratorModel__Group_2__0__Impl rule__GeneratorModel__Group_2__1 )
            // ../de.thwildau.tm.moses.abnf.ui/src-gen/de/thwildau/tm/moses/xabnf/ui/contentassist/antlr/internal/InternalXabnf.g:654:2: rule__GeneratorModel__Group_2__0__Impl rule__GeneratorModel__Group_2__1
            {
            pushFollow(FOLLOW_rule__GeneratorModel__Group_2__0__Impl_in_rule__GeneratorModel__Group_2__01274);
            rule__GeneratorModel__Group_2__0__Impl();

            state._fsp--;

            pushFollow(FOLLOW_rule__GeneratorModel__Group_2__1_in_rule__GeneratorModel__Group_2__01277);
            rule__GeneratorModel__Group_2__1();

            state._fsp--;


            }

        }
        catch (RecognitionException re) {
            reportError(re);
            recover(input,re);
        }
        finally {

            	restoreStackSize(stackSize);

        }
        return ;
    }
    // $ANTLR end "rule__GeneratorModel__Group_2__0"


    // $ANTLR start "rule__GeneratorModel__Group_2__0__Impl"
    // ../de.thwildau.tm.moses.abnf.ui/src-gen/de/thwildau/tm/moses/xabnf/ui/contentassist/antlr/internal/InternalXabnf.g:661:1: rule__GeneratorModel__Group_2__0__Impl : ( 'package' ) ;
    public final void rule__GeneratorModel__Group_2__0__Impl() throws RecognitionException {

        		int stackSize = keepStackSize();
            
        try {
            // ../de.thwildau.tm.moses.abnf.ui/src-gen/de/thwildau/tm/moses/xabnf/ui/contentassist/antlr/internal/InternalXabnf.g:665:1: ( ( 'package' ) )
            // ../de.thwildau.tm.moses.abnf.ui/src-gen/de/thwildau/tm/moses/xabnf/ui/contentassist/antlr/internal/InternalXabnf.g:666:1: ( 'package' )
            {
            // ../de.thwildau.tm.moses.abnf.ui/src-gen/de/thwildau/tm/moses/xabnf/ui/contentassist/antlr/internal/InternalXabnf.g:666:1: ( 'package' )
            // ../de.thwildau.tm.moses.abnf.ui/src-gen/de/thwildau/tm/moses/xabnf/ui/contentassist/antlr/internal/InternalXabnf.g:667:1: 'package'
            {
             before(grammarAccess.getGeneratorModelAccess().getPackageKeyword_2_0()); 
            match(input,19,FOLLOW_19_in_rule__GeneratorModel__Group_2__0__Impl1305); 
             after(grammarAccess.getGeneratorModelAccess().getPackageKeyword_2_0()); 

            }


            }

        }
        catch (RecognitionException re) {
            reportError(re);
            recover(input,re);
        }
        finally {

            	restoreStackSize(stackSize);

        }
        return ;
    }
    // $ANTLR end "rule__GeneratorModel__Group_2__0__Impl"


    // $ANTLR start "rule__GeneratorModel__Group_2__1"
    // ../de.thwildau.tm.moses.abnf.ui/src-gen/de/thwildau/tm/moses/xabnf/ui/contentassist/antlr/internal/InternalXabnf.g:680:1: rule__GeneratorModel__Group_2__1 : rule__GeneratorModel__Group_2__1__Impl rule__GeneratorModel__Group_2__2 ;
    public final void rule__GeneratorModel__Group_2__1() throws RecognitionException {

        		int stackSize = keepStackSize();
            
        try {
            // ../de.thwildau.tm.moses.abnf.ui/src-gen/de/thwildau/tm/moses/xabnf/ui/contentassist/antlr/internal/InternalXabnf.g:684:1: ( rule__GeneratorModel__Group_2__1__Impl rule__GeneratorModel__Group_2__2 )
            // ../de.thwildau.tm.moses.abnf.ui/src-gen/de/thwildau/tm/moses/xabnf/ui/contentassist/antlr/internal/InternalXabnf.g:685:2: rule__GeneratorModel__Group_2__1__Impl rule__GeneratorModel__Group_2__2
            {
            pushFollow(FOLLOW_rule__GeneratorModel__Group_2__1__Impl_in_rule__GeneratorModel__Group_2__11336);
            rule__GeneratorModel__Group_2__1__Impl();

            state._fsp--;

            pushFollow(FOLLOW_rule__GeneratorModel__Group_2__2_in_rule__GeneratorModel__Group_2__11339);
            rule__GeneratorModel__Group_2__2();

            state._fsp--;


            }

        }
        catch (RecognitionException re) {
            reportError(re);
            recover(input,re);
        }
        finally {

            	restoreStackSize(stackSize);

        }
        return ;
    }
    // $ANTLR end "rule__GeneratorModel__Group_2__1"


    // $ANTLR start "rule__GeneratorModel__Group_2__1__Impl"
    // ../de.thwildau.tm.moses.abnf.ui/src-gen/de/thwildau/tm/moses/xabnf/ui/contentassist/antlr/internal/InternalXabnf.g:692:1: rule__GeneratorModel__Group_2__1__Impl : ( '=' ) ;
    public final void rule__GeneratorModel__Group_2__1__Impl() throws RecognitionException {

        		int stackSize = keepStackSize();
            
        try {
            // ../de.thwildau.tm.moses.abnf.ui/src-gen/de/thwildau/tm/moses/xabnf/ui/contentassist/antlr/internal/InternalXabnf.g:696:1: ( ( '=' ) )
            // ../de.thwildau.tm.moses.abnf.ui/src-gen/de/thwildau/tm/moses/xabnf/ui/contentassist/antlr/internal/InternalXabnf.g:697:1: ( '=' )
            {
            // ../de.thwildau.tm.moses.abnf.ui/src-gen/de/thwildau/tm/moses/xabnf/ui/contentassist/antlr/internal/InternalXabnf.g:697:1: ( '=' )
            // ../de.thwildau.tm.moses.abnf.ui/src-gen/de/thwildau/tm/moses/xabnf/ui/contentassist/antlr/internal/InternalXabnf.g:698:1: '='
            {
             before(grammarAccess.getGeneratorModelAccess().getEqualsSignKeyword_2_1()); 
            match(input,17,FOLLOW_17_in_rule__GeneratorModel__Group_2__1__Impl1367); 
             after(grammarAccess.getGeneratorModelAccess().getEqualsSignKeyword_2_1()); 

            }


            }

        }
        catch (RecognitionException re) {
            reportError(re);
            recover(input,re);
        }
        finally {

            	restoreStackSize(stackSize);

        }
        return ;
    }
    // $ANTLR end "rule__GeneratorModel__Group_2__1__Impl"


    // $ANTLR start "rule__GeneratorModel__Group_2__2"
    // ../de.thwildau.tm.moses.abnf.ui/src-gen/de/thwildau/tm/moses/xabnf/ui/contentassist/antlr/internal/InternalXabnf.g:711:1: rule__GeneratorModel__Group_2__2 : rule__GeneratorModel__Group_2__2__Impl ;
    public final void rule__GeneratorModel__Group_2__2() throws RecognitionException {

        		int stackSize = keepStackSize();
            
        try {
            // ../de.thwildau.tm.moses.abnf.ui/src-gen/de/thwildau/tm/moses/xabnf/ui/contentassist/antlr/internal/InternalXabnf.g:715:1: ( rule__GeneratorModel__Group_2__2__Impl )
            // ../de.thwildau.tm.moses.abnf.ui/src-gen/de/thwildau/tm/moses/xabnf/ui/contentassist/antlr/internal/InternalXabnf.g:716:2: rule__GeneratorModel__Group_2__2__Impl
            {
            pushFollow(FOLLOW_rule__GeneratorModel__Group_2__2__Impl_in_rule__GeneratorModel__Group_2__21398);
            rule__GeneratorModel__Group_2__2__Impl();

            state._fsp--;


            }

        }
        catch (RecognitionException re) {
            reportError(re);
            recover(input,re);
        }
        finally {

            	restoreStackSize(stackSize);

        }
        return ;
    }
    // $ANTLR end "rule__GeneratorModel__Group_2__2"


    // $ANTLR start "rule__GeneratorModel__Group_2__2__Impl"
    // ../de.thwildau.tm.moses.abnf.ui/src-gen/de/thwildau/tm/moses/xabnf/ui/contentassist/antlr/internal/InternalXabnf.g:722:1: rule__GeneratorModel__Group_2__2__Impl : ( ( rule__GeneratorModel__PackageAssignment_2_2 ) ) ;
    public final void rule__GeneratorModel__Group_2__2__Impl() throws RecognitionException {

        		int stackSize = keepStackSize();
            
        try {
            // ../de.thwildau.tm.moses.abnf.ui/src-gen/de/thwildau/tm/moses/xabnf/ui/contentassist/antlr/internal/InternalXabnf.g:726:1: ( ( ( rule__GeneratorModel__PackageAssignment_2_2 ) ) )
            // ../de.thwildau.tm.moses.abnf.ui/src-gen/de/thwildau/tm/moses/xabnf/ui/contentassist/antlr/internal/InternalXabnf.g:727:1: ( ( rule__GeneratorModel__PackageAssignment_2_2 ) )
            {
            // ../de.thwildau.tm.moses.abnf.ui/src-gen/de/thwildau/tm/moses/xabnf/ui/contentassist/antlr/internal/InternalXabnf.g:727:1: ( ( rule__GeneratorModel__PackageAssignment_2_2 ) )
            // ../de.thwildau.tm.moses.abnf.ui/src-gen/de/thwildau/tm/moses/xabnf/ui/contentassist/antlr/internal/InternalXabnf.g:728:1: ( rule__GeneratorModel__PackageAssignment_2_2 )
            {
             before(grammarAccess.getGeneratorModelAccess().getPackageAssignment_2_2()); 
            // ../de.thwildau.tm.moses.abnf.ui/src-gen/de/thwildau/tm/moses/xabnf/ui/contentassist/antlr/internal/InternalXabnf.g:729:1: ( rule__GeneratorModel__PackageAssignment_2_2 )
            // ../de.thwildau.tm.moses.abnf.ui/src-gen/de/thwildau/tm/moses/xabnf/ui/contentassist/antlr/internal/InternalXabnf.g:729:2: rule__GeneratorModel__PackageAssignment_2_2
            {
            pushFollow(FOLLOW_rule__GeneratorModel__PackageAssignment_2_2_in_rule__GeneratorModel__Group_2__2__Impl1425);
            rule__GeneratorModel__PackageAssignment_2_2();

            state._fsp--;


            }

             after(grammarAccess.getGeneratorModelAccess().getPackageAssignment_2_2()); 

            }


            }

        }
        catch (RecognitionException re) {
            reportError(re);
            recover(input,re);
        }
        finally {

            	restoreStackSize(stackSize);

        }
        return ;
    }
    // $ANTLR end "rule__GeneratorModel__Group_2__2__Impl"


    // $ANTLR start "rule__GeneratorModel__Group_3__0"
    // ../de.thwildau.tm.moses.abnf.ui/src-gen/de/thwildau/tm/moses/xabnf/ui/contentassist/antlr/internal/InternalXabnf.g:745:1: rule__GeneratorModel__Group_3__0 : rule__GeneratorModel__Group_3__0__Impl rule__GeneratorModel__Group_3__1 ;
    public final void rule__GeneratorModel__Group_3__0() throws RecognitionException {

        		int stackSize = keepStackSize();
            
        try {
            // ../de.thwildau.tm.moses.abnf.ui/src-gen/de/thwildau/tm/moses/xabnf/ui/contentassist/antlr/internal/InternalXabnf.g:749:1: ( rule__GeneratorModel__Group_3__0__Impl rule__GeneratorModel__Group_3__1 )
            // ../de.thwildau.tm.moses.abnf.ui/src-gen/de/thwildau/tm/moses/xabnf/ui/contentassist/antlr/internal/InternalXabnf.g:750:2: rule__GeneratorModel__Group_3__0__Impl rule__GeneratorModel__Group_3__1
            {
            pushFollow(FOLLOW_rule__GeneratorModel__Group_3__0__Impl_in_rule__GeneratorModel__Group_3__01461);
            rule__GeneratorModel__Group_3__0__Impl();

            state._fsp--;

            pushFollow(FOLLOW_rule__GeneratorModel__Group_3__1_in_rule__GeneratorModel__Group_3__01464);
            rule__GeneratorModel__Group_3__1();

            state._fsp--;


            }

        }
        catch (RecognitionException re) {
            reportError(re);
            recover(input,re);
        }
        finally {

            	restoreStackSize(stackSize);

        }
        return ;
    }
    // $ANTLR end "rule__GeneratorModel__Group_3__0"


    // $ANTLR start "rule__GeneratorModel__Group_3__0__Impl"
    // ../de.thwildau.tm.moses.abnf.ui/src-gen/de/thwildau/tm/moses/xabnf/ui/contentassist/antlr/internal/InternalXabnf.g:757:1: rule__GeneratorModel__Group_3__0__Impl : ( 'entryRule' ) ;
    public final void rule__GeneratorModel__Group_3__0__Impl() throws RecognitionException {

        		int stackSize = keepStackSize();
            
        try {
            // ../de.thwildau.tm.moses.abnf.ui/src-gen/de/thwildau/tm/moses/xabnf/ui/contentassist/antlr/internal/InternalXabnf.g:761:1: ( ( 'entryRule' ) )
            // ../de.thwildau.tm.moses.abnf.ui/src-gen/de/thwildau/tm/moses/xabnf/ui/contentassist/antlr/internal/InternalXabnf.g:762:1: ( 'entryRule' )
            {
            // ../de.thwildau.tm.moses.abnf.ui/src-gen/de/thwildau/tm/moses/xabnf/ui/contentassist/antlr/internal/InternalXabnf.g:762:1: ( 'entryRule' )
            // ../de.thwildau.tm.moses.abnf.ui/src-gen/de/thwildau/tm/moses/xabnf/ui/contentassist/antlr/internal/InternalXabnf.g:763:1: 'entryRule'
            {
             before(grammarAccess.getGeneratorModelAccess().getEntryRuleKeyword_3_0()); 
            match(input,20,FOLLOW_20_in_rule__GeneratorModel__Group_3__0__Impl1492); 
             after(grammarAccess.getGeneratorModelAccess().getEntryRuleKeyword_3_0()); 

            }


            }

        }
        catch (RecognitionException re) {
            reportError(re);
            recover(input,re);
        }
        finally {

            	restoreStackSize(stackSize);

        }
        return ;
    }
    // $ANTLR end "rule__GeneratorModel__Group_3__0__Impl"


    // $ANTLR start "rule__GeneratorModel__Group_3__1"
    // ../de.thwildau.tm.moses.abnf.ui/src-gen/de/thwildau/tm/moses/xabnf/ui/contentassist/antlr/internal/InternalXabnf.g:776:1: rule__GeneratorModel__Group_3__1 : rule__GeneratorModel__Group_3__1__Impl rule__GeneratorModel__Group_3__2 ;
    public final void rule__GeneratorModel__Group_3__1() throws RecognitionException {

        		int stackSize = keepStackSize();
            
        try {
            // ../de.thwildau.tm.moses.abnf.ui/src-gen/de/thwildau/tm/moses/xabnf/ui/contentassist/antlr/internal/InternalXabnf.g:780:1: ( rule__GeneratorModel__Group_3__1__Impl rule__GeneratorModel__Group_3__2 )
            // ../de.thwildau.tm.moses.abnf.ui/src-gen/de/thwildau/tm/moses/xabnf/ui/contentassist/antlr/internal/InternalXabnf.g:781:2: rule__GeneratorModel__Group_3__1__Impl rule__GeneratorModel__Group_3__2
            {
            pushFollow(FOLLOW_rule__GeneratorModel__Group_3__1__Impl_in_rule__GeneratorModel__Group_3__11523);
            rule__GeneratorModel__Group_3__1__Impl();

            state._fsp--;

            pushFollow(FOLLOW_rule__GeneratorModel__Group_3__2_in_rule__GeneratorModel__Group_3__11526);
            rule__GeneratorModel__Group_3__2();

            state._fsp--;


            }

        }
        catch (RecognitionException re) {
            reportError(re);
            recover(input,re);
        }
        finally {

            	restoreStackSize(stackSize);

        }
        return ;
    }
    // $ANTLR end "rule__GeneratorModel__Group_3__1"


    // $ANTLR start "rule__GeneratorModel__Group_3__1__Impl"
    // ../de.thwildau.tm.moses.abnf.ui/src-gen/de/thwildau/tm/moses/xabnf/ui/contentassist/antlr/internal/InternalXabnf.g:788:1: rule__GeneratorModel__Group_3__1__Impl : ( '=' ) ;
    public final void rule__GeneratorModel__Group_3__1__Impl() throws RecognitionException {

        		int stackSize = keepStackSize();
            
        try {
            // ../de.thwildau.tm.moses.abnf.ui/src-gen/de/thwildau/tm/moses/xabnf/ui/contentassist/antlr/internal/InternalXabnf.g:792:1: ( ( '=' ) )
            // ../de.thwildau.tm.moses.abnf.ui/src-gen/de/thwildau/tm/moses/xabnf/ui/contentassist/antlr/internal/InternalXabnf.g:793:1: ( '=' )
            {
            // ../de.thwildau.tm.moses.abnf.ui/src-gen/de/thwildau/tm/moses/xabnf/ui/contentassist/antlr/internal/InternalXabnf.g:793:1: ( '=' )
            // ../de.thwildau.tm.moses.abnf.ui/src-gen/de/thwildau/tm/moses/xabnf/ui/contentassist/antlr/internal/InternalXabnf.g:794:1: '='
            {
             before(grammarAccess.getGeneratorModelAccess().getEqualsSignKeyword_3_1()); 
            match(input,17,FOLLOW_17_in_rule__GeneratorModel__Group_3__1__Impl1554); 
             after(grammarAccess.getGeneratorModelAccess().getEqualsSignKeyword_3_1()); 

            }


            }

        }
        catch (RecognitionException re) {
            reportError(re);
            recover(input,re);
        }
        finally {

            	restoreStackSize(stackSize);

        }
        return ;
    }
    // $ANTLR end "rule__GeneratorModel__Group_3__1__Impl"


    // $ANTLR start "rule__GeneratorModel__Group_3__2"
    // ../de.thwildau.tm.moses.abnf.ui/src-gen/de/thwildau/tm/moses/xabnf/ui/contentassist/antlr/internal/InternalXabnf.g:807:1: rule__GeneratorModel__Group_3__2 : rule__GeneratorModel__Group_3__2__Impl ;
    public final void rule__GeneratorModel__Group_3__2() throws RecognitionException {

        		int stackSize = keepStackSize();
            
        try {
            // ../de.thwildau.tm.moses.abnf.ui/src-gen/de/thwildau/tm/moses/xabnf/ui/contentassist/antlr/internal/InternalXabnf.g:811:1: ( rule__GeneratorModel__Group_3__2__Impl )
            // ../de.thwildau.tm.moses.abnf.ui/src-gen/de/thwildau/tm/moses/xabnf/ui/contentassist/antlr/internal/InternalXabnf.g:812:2: rule__GeneratorModel__Group_3__2__Impl
            {
            pushFollow(FOLLOW_rule__GeneratorModel__Group_3__2__Impl_in_rule__GeneratorModel__Group_3__21585);
            rule__GeneratorModel__Group_3__2__Impl();

            state._fsp--;


            }

        }
        catch (RecognitionException re) {
            reportError(re);
            recover(input,re);
        }
        finally {

            	restoreStackSize(stackSize);

        }
        return ;
    }
    // $ANTLR end "rule__GeneratorModel__Group_3__2"


    // $ANTLR start "rule__GeneratorModel__Group_3__2__Impl"
    // ../de.thwildau.tm.moses.abnf.ui/src-gen/de/thwildau/tm/moses/xabnf/ui/contentassist/antlr/internal/InternalXabnf.g:818:1: rule__GeneratorModel__Group_3__2__Impl : ( ( rule__GeneratorModel__EntryRuleAssignment_3_2 ) ) ;
    public final void rule__GeneratorModel__Group_3__2__Impl() throws RecognitionException {

        		int stackSize = keepStackSize();
            
        try {
            // ../de.thwildau.tm.moses.abnf.ui/src-gen/de/thwildau/tm/moses/xabnf/ui/contentassist/antlr/internal/InternalXabnf.g:822:1: ( ( ( rule__GeneratorModel__EntryRuleAssignment_3_2 ) ) )
            // ../de.thwildau.tm.moses.abnf.ui/src-gen/de/thwildau/tm/moses/xabnf/ui/contentassist/antlr/internal/InternalXabnf.g:823:1: ( ( rule__GeneratorModel__EntryRuleAssignment_3_2 ) )
            {
            // ../de.thwildau.tm.moses.abnf.ui/src-gen/de/thwildau/tm/moses/xabnf/ui/contentassist/antlr/internal/InternalXabnf.g:823:1: ( ( rule__GeneratorModel__EntryRuleAssignment_3_2 ) )
            // ../de.thwildau.tm.moses.abnf.ui/src-gen/de/thwildau/tm/moses/xabnf/ui/contentassist/antlr/internal/InternalXabnf.g:824:1: ( rule__GeneratorModel__EntryRuleAssignment_3_2 )
            {
             before(grammarAccess.getGeneratorModelAccess().getEntryRuleAssignment_3_2()); 
            // ../de.thwildau.tm.moses.abnf.ui/src-gen/de/thwildau/tm/moses/xabnf/ui/contentassist/antlr/internal/InternalXabnf.g:825:1: ( rule__GeneratorModel__EntryRuleAssignment_3_2 )
            // ../de.thwildau.tm.moses.abnf.ui/src-gen/de/thwildau/tm/moses/xabnf/ui/contentassist/antlr/internal/InternalXabnf.g:825:2: rule__GeneratorModel__EntryRuleAssignment_3_2
            {
            pushFollow(FOLLOW_rule__GeneratorModel__EntryRuleAssignment_3_2_in_rule__GeneratorModel__Group_3__2__Impl1612);
            rule__GeneratorModel__EntryRuleAssignment_3_2();

            state._fsp--;


            }

             after(grammarAccess.getGeneratorModelAccess().getEntryRuleAssignment_3_2()); 

            }


            }

        }
        catch (RecognitionException re) {
            reportError(re);
            recover(input,re);
        }
        finally {

            	restoreStackSize(stackSize);

        }
        return ;
    }
    // $ANTLR end "rule__GeneratorModel__Group_3__2__Impl"


    // $ANTLR start "rule__GeneratorModel__Group_4__0"
    // ../de.thwildau.tm.moses.abnf.ui/src-gen/de/thwildau/tm/moses/xabnf/ui/contentassist/antlr/internal/InternalXabnf.g:841:1: rule__GeneratorModel__Group_4__0 : rule__GeneratorModel__Group_4__0__Impl rule__GeneratorModel__Group_4__1 ;
    public final void rule__GeneratorModel__Group_4__0() throws RecognitionException {

        		int stackSize = keepStackSize();
            
        try {
            // ../de.thwildau.tm.moses.abnf.ui/src-gen/de/thwildau/tm/moses/xabnf/ui/contentassist/antlr/internal/InternalXabnf.g:845:1: ( rule__GeneratorModel__Group_4__0__Impl rule__GeneratorModel__Group_4__1 )
            // ../de.thwildau.tm.moses.abnf.ui/src-gen/de/thwildau/tm/moses/xabnf/ui/contentassist/antlr/internal/InternalXabnf.g:846:2: rule__GeneratorModel__Group_4__0__Impl rule__GeneratorModel__Group_4__1
            {
            pushFollow(FOLLOW_rule__GeneratorModel__Group_4__0__Impl_in_rule__GeneratorModel__Group_4__01648);
            rule__GeneratorModel__Group_4__0__Impl();

            state._fsp--;

            pushFollow(FOLLOW_rule__GeneratorModel__Group_4__1_in_rule__GeneratorModel__Group_4__01651);
            rule__GeneratorModel__Group_4__1();

            state._fsp--;


            }

        }
        catch (RecognitionException re) {
            reportError(re);
            recover(input,re);
        }
        finally {

            	restoreStackSize(stackSize);

        }
        return ;
    }
    // $ANTLR end "rule__GeneratorModel__Group_4__0"


    // $ANTLR start "rule__GeneratorModel__Group_4__0__Impl"
    // ../de.thwildau.tm.moses.abnf.ui/src-gen/de/thwildau/tm/moses/xabnf/ui/contentassist/antlr/internal/InternalXabnf.g:853:1: rule__GeneratorModel__Group_4__0__Impl : ( 'encoding' ) ;
    public final void rule__GeneratorModel__Group_4__0__Impl() throws RecognitionException {

        		int stackSize = keepStackSize();
            
        try {
            // ../de.thwildau.tm.moses.abnf.ui/src-gen/de/thwildau/tm/moses/xabnf/ui/contentassist/antlr/internal/InternalXabnf.g:857:1: ( ( 'encoding' ) )
            // ../de.thwildau.tm.moses.abnf.ui/src-gen/de/thwildau/tm/moses/xabnf/ui/contentassist/antlr/internal/InternalXabnf.g:858:1: ( 'encoding' )
            {
            // ../de.thwildau.tm.moses.abnf.ui/src-gen/de/thwildau/tm/moses/xabnf/ui/contentassist/antlr/internal/InternalXabnf.g:858:1: ( 'encoding' )
            // ../de.thwildau.tm.moses.abnf.ui/src-gen/de/thwildau/tm/moses/xabnf/ui/contentassist/antlr/internal/InternalXabnf.g:859:1: 'encoding'
            {
             before(grammarAccess.getGeneratorModelAccess().getEncodingKeyword_4_0()); 
            match(input,21,FOLLOW_21_in_rule__GeneratorModel__Group_4__0__Impl1679); 
             after(grammarAccess.getGeneratorModelAccess().getEncodingKeyword_4_0()); 

            }


            }

        }
        catch (RecognitionException re) {
            reportError(re);
            recover(input,re);
        }
        finally {

            	restoreStackSize(stackSize);

        }
        return ;
    }
    // $ANTLR end "rule__GeneratorModel__Group_4__0__Impl"


    // $ANTLR start "rule__GeneratorModel__Group_4__1"
    // ../de.thwildau.tm.moses.abnf.ui/src-gen/de/thwildau/tm/moses/xabnf/ui/contentassist/antlr/internal/InternalXabnf.g:872:1: rule__GeneratorModel__Group_4__1 : rule__GeneratorModel__Group_4__1__Impl rule__GeneratorModel__Group_4__2 ;
    public final void rule__GeneratorModel__Group_4__1() throws RecognitionException {

        		int stackSize = keepStackSize();
            
        try {
            // ../de.thwildau.tm.moses.abnf.ui/src-gen/de/thwildau/tm/moses/xabnf/ui/contentassist/antlr/internal/InternalXabnf.g:876:1: ( rule__GeneratorModel__Group_4__1__Impl rule__GeneratorModel__Group_4__2 )
            // ../de.thwildau.tm.moses.abnf.ui/src-gen/de/thwildau/tm/moses/xabnf/ui/contentassist/antlr/internal/InternalXabnf.g:877:2: rule__GeneratorModel__Group_4__1__Impl rule__GeneratorModel__Group_4__2
            {
            pushFollow(FOLLOW_rule__GeneratorModel__Group_4__1__Impl_in_rule__GeneratorModel__Group_4__11710);
            rule__GeneratorModel__Group_4__1__Impl();

            state._fsp--;

            pushFollow(FOLLOW_rule__GeneratorModel__Group_4__2_in_rule__GeneratorModel__Group_4__11713);
            rule__GeneratorModel__Group_4__2();

            state._fsp--;


            }

        }
        catch (RecognitionException re) {
            reportError(re);
            recover(input,re);
        }
        finally {

            	restoreStackSize(stackSize);

        }
        return ;
    }
    // $ANTLR end "rule__GeneratorModel__Group_4__1"


    // $ANTLR start "rule__GeneratorModel__Group_4__1__Impl"
    // ../de.thwildau.tm.moses.abnf.ui/src-gen/de/thwildau/tm/moses/xabnf/ui/contentassist/antlr/internal/InternalXabnf.g:884:1: rule__GeneratorModel__Group_4__1__Impl : ( '=' ) ;
    public final void rule__GeneratorModel__Group_4__1__Impl() throws RecognitionException {

        		int stackSize = keepStackSize();
            
        try {
            // ../de.thwildau.tm.moses.abnf.ui/src-gen/de/thwildau/tm/moses/xabnf/ui/contentassist/antlr/internal/InternalXabnf.g:888:1: ( ( '=' ) )
            // ../de.thwildau.tm.moses.abnf.ui/src-gen/de/thwildau/tm/moses/xabnf/ui/contentassist/antlr/internal/InternalXabnf.g:889:1: ( '=' )
            {
            // ../de.thwildau.tm.moses.abnf.ui/src-gen/de/thwildau/tm/moses/xabnf/ui/contentassist/antlr/internal/InternalXabnf.g:889:1: ( '=' )
            // ../de.thwildau.tm.moses.abnf.ui/src-gen/de/thwildau/tm/moses/xabnf/ui/contentassist/antlr/internal/InternalXabnf.g:890:1: '='
            {
             before(grammarAccess.getGeneratorModelAccess().getEqualsSignKeyword_4_1()); 
            match(input,17,FOLLOW_17_in_rule__GeneratorModel__Group_4__1__Impl1741); 
             after(grammarAccess.getGeneratorModelAccess().getEqualsSignKeyword_4_1()); 

            }


            }

        }
        catch (RecognitionException re) {
            reportError(re);
            recover(input,re);
        }
        finally {

            	restoreStackSize(stackSize);

        }
        return ;
    }
    // $ANTLR end "rule__GeneratorModel__Group_4__1__Impl"


    // $ANTLR start "rule__GeneratorModel__Group_4__2"
    // ../de.thwildau.tm.moses.abnf.ui/src-gen/de/thwildau/tm/moses/xabnf/ui/contentassist/antlr/internal/InternalXabnf.g:903:1: rule__GeneratorModel__Group_4__2 : rule__GeneratorModel__Group_4__2__Impl ;
    public final void rule__GeneratorModel__Group_4__2() throws RecognitionException {

        		int stackSize = keepStackSize();
            
        try {
            // ../de.thwildau.tm.moses.abnf.ui/src-gen/de/thwildau/tm/moses/xabnf/ui/contentassist/antlr/internal/InternalXabnf.g:907:1: ( rule__GeneratorModel__Group_4__2__Impl )
            // ../de.thwildau.tm.moses.abnf.ui/src-gen/de/thwildau/tm/moses/xabnf/ui/contentassist/antlr/internal/InternalXabnf.g:908:2: rule__GeneratorModel__Group_4__2__Impl
            {
            pushFollow(FOLLOW_rule__GeneratorModel__Group_4__2__Impl_in_rule__GeneratorModel__Group_4__21772);
            rule__GeneratorModel__Group_4__2__Impl();

            state._fsp--;


            }

        }
        catch (RecognitionException re) {
            reportError(re);
            recover(input,re);
        }
        finally {

            	restoreStackSize(stackSize);

        }
        return ;
    }
    // $ANTLR end "rule__GeneratorModel__Group_4__2"


    // $ANTLR start "rule__GeneratorModel__Group_4__2__Impl"
    // ../de.thwildau.tm.moses.abnf.ui/src-gen/de/thwildau/tm/moses/xabnf/ui/contentassist/antlr/internal/InternalXabnf.g:914:1: rule__GeneratorModel__Group_4__2__Impl : ( ( rule__GeneratorModel__EncodingAssignment_4_2 ) ) ;
    public final void rule__GeneratorModel__Group_4__2__Impl() throws RecognitionException {

        		int stackSize = keepStackSize();
            
        try {
            // ../de.thwildau.tm.moses.abnf.ui/src-gen/de/thwildau/tm/moses/xabnf/ui/contentassist/antlr/internal/InternalXabnf.g:918:1: ( ( ( rule__GeneratorModel__EncodingAssignment_4_2 ) ) )
            // ../de.thwildau.tm.moses.abnf.ui/src-gen/de/thwildau/tm/moses/xabnf/ui/contentassist/antlr/internal/InternalXabnf.g:919:1: ( ( rule__GeneratorModel__EncodingAssignment_4_2 ) )
            {
            // ../de.thwildau.tm.moses.abnf.ui/src-gen/de/thwildau/tm/moses/xabnf/ui/contentassist/antlr/internal/InternalXabnf.g:919:1: ( ( rule__GeneratorModel__EncodingAssignment_4_2 ) )
            // ../de.thwildau.tm.moses.abnf.ui/src-gen/de/thwildau/tm/moses/xabnf/ui/contentassist/antlr/internal/InternalXabnf.g:920:1: ( rule__GeneratorModel__EncodingAssignment_4_2 )
            {
             before(grammarAccess.getGeneratorModelAccess().getEncodingAssignment_4_2()); 
            // ../de.thwildau.tm.moses.abnf.ui/src-gen/de/thwildau/tm/moses/xabnf/ui/contentassist/antlr/internal/InternalXabnf.g:921:1: ( rule__GeneratorModel__EncodingAssignment_4_2 )
            // ../de.thwildau.tm.moses.abnf.ui/src-gen/de/thwildau/tm/moses/xabnf/ui/contentassist/antlr/internal/InternalXabnf.g:921:2: rule__GeneratorModel__EncodingAssignment_4_2
            {
            pushFollow(FOLLOW_rule__GeneratorModel__EncodingAssignment_4_2_in_rule__GeneratorModel__Group_4__2__Impl1799);
            rule__GeneratorModel__EncodingAssignment_4_2();

            state._fsp--;


            }

             after(grammarAccess.getGeneratorModelAccess().getEncodingAssignment_4_2()); 

            }


            }

        }
        catch (RecognitionException re) {
            reportError(re);
            recover(input,re);
        }
        finally {

            	restoreStackSize(stackSize);

        }
        return ;
    }
    // $ANTLR end "rule__GeneratorModel__Group_4__2__Impl"


    // $ANTLR start "rule__Bindings__Group__0"
    // ../de.thwildau.tm.moses.abnf.ui/src-gen/de/thwildau/tm/moses/xabnf/ui/contentassist/antlr/internal/InternalXabnf.g:937:1: rule__Bindings__Group__0 : rule__Bindings__Group__0__Impl rule__Bindings__Group__1 ;
    public final void rule__Bindings__Group__0() throws RecognitionException {

        		int stackSize = keepStackSize();
            
        try {
            // ../de.thwildau.tm.moses.abnf.ui/src-gen/de/thwildau/tm/moses/xabnf/ui/contentassist/antlr/internal/InternalXabnf.g:941:1: ( rule__Bindings__Group__0__Impl rule__Bindings__Group__1 )
            // ../de.thwildau.tm.moses.abnf.ui/src-gen/de/thwildau/tm/moses/xabnf/ui/contentassist/antlr/internal/InternalXabnf.g:942:2: rule__Bindings__Group__0__Impl rule__Bindings__Group__1
            {
            pushFollow(FOLLOW_rule__Bindings__Group__0__Impl_in_rule__Bindings__Group__01835);
            rule__Bindings__Group__0__Impl();

            state._fsp--;

            pushFollow(FOLLOW_rule__Bindings__Group__1_in_rule__Bindings__Group__01838);
            rule__Bindings__Group__1();

            state._fsp--;


            }

        }
        catch (RecognitionException re) {
            reportError(re);
            recover(input,re);
        }
        finally {

            	restoreStackSize(stackSize);

        }
        return ;
    }
    // $ANTLR end "rule__Bindings__Group__0"


    // $ANTLR start "rule__Bindings__Group__0__Impl"
    // ../de.thwildau.tm.moses.abnf.ui/src-gen/de/thwildau/tm/moses/xabnf/ui/contentassist/antlr/internal/InternalXabnf.g:949:1: rule__Bindings__Group__0__Impl : ( () ) ;
    public final void rule__Bindings__Group__0__Impl() throws RecognitionException {

        		int stackSize = keepStackSize();
            
        try {
            // ../de.thwildau.tm.moses.abnf.ui/src-gen/de/thwildau/tm/moses/xabnf/ui/contentassist/antlr/internal/InternalXabnf.g:953:1: ( ( () ) )
            // ../de.thwildau.tm.moses.abnf.ui/src-gen/de/thwildau/tm/moses/xabnf/ui/contentassist/antlr/internal/InternalXabnf.g:954:1: ( () )
            {
            // ../de.thwildau.tm.moses.abnf.ui/src-gen/de/thwildau/tm/moses/xabnf/ui/contentassist/antlr/internal/InternalXabnf.g:954:1: ( () )
            // ../de.thwildau.tm.moses.abnf.ui/src-gen/de/thwildau/tm/moses/xabnf/ui/contentassist/antlr/internal/InternalXabnf.g:955:1: ()
            {
             before(grammarAccess.getBindingsAccess().getBindingsAction_0()); 
            // ../de.thwildau.tm.moses.abnf.ui/src-gen/de/thwildau/tm/moses/xabnf/ui/contentassist/antlr/internal/InternalXabnf.g:956:1: ()
            // ../de.thwildau.tm.moses.abnf.ui/src-gen/de/thwildau/tm/moses/xabnf/ui/contentassist/antlr/internal/InternalXabnf.g:958:1: 
            {
            }

             after(grammarAccess.getBindingsAccess().getBindingsAction_0()); 

            }


            }

        }
        finally {

            	restoreStackSize(stackSize);

        }
        return ;
    }
    // $ANTLR end "rule__Bindings__Group__0__Impl"


    // $ANTLR start "rule__Bindings__Group__1"
    // ../de.thwildau.tm.moses.abnf.ui/src-gen/de/thwildau/tm/moses/xabnf/ui/contentassist/antlr/internal/InternalXabnf.g:968:1: rule__Bindings__Group__1 : rule__Bindings__Group__1__Impl rule__Bindings__Group__2 ;
    public final void rule__Bindings__Group__1() throws RecognitionException {

        		int stackSize = keepStackSize();
            
        try {
            // ../de.thwildau.tm.moses.abnf.ui/src-gen/de/thwildau/tm/moses/xabnf/ui/contentassist/antlr/internal/InternalXabnf.g:972:1: ( rule__Bindings__Group__1__Impl rule__Bindings__Group__2 )
            // ../de.thwildau.tm.moses.abnf.ui/src-gen/de/thwildau/tm/moses/xabnf/ui/contentassist/antlr/internal/InternalXabnf.g:973:2: rule__Bindings__Group__1__Impl rule__Bindings__Group__2
            {
            pushFollow(FOLLOW_rule__Bindings__Group__1__Impl_in_rule__Bindings__Group__11896);
            rule__Bindings__Group__1__Impl();

            state._fsp--;

            pushFollow(FOLLOW_rule__Bindings__Group__2_in_rule__Bindings__Group__11899);
            rule__Bindings__Group__2();

            state._fsp--;


            }

        }
        catch (RecognitionException re) {
            reportError(re);
            recover(input,re);
        }
        finally {

            	restoreStackSize(stackSize);

        }
        return ;
    }
    // $ANTLR end "rule__Bindings__Group__1"


    // $ANTLR start "rule__Bindings__Group__1__Impl"
    // ../de.thwildau.tm.moses.abnf.ui/src-gen/de/thwildau/tm/moses/xabnf/ui/contentassist/antlr/internal/InternalXabnf.g:980:1: rule__Bindings__Group__1__Impl : ( 'Bindings' ) ;
    public final void rule__Bindings__Group__1__Impl() throws RecognitionException {

        		int stackSize = keepStackSize();
            
        try {
            // ../de.thwildau.tm.moses.abnf.ui/src-gen/de/thwildau/tm/moses/xabnf/ui/contentassist/antlr/internal/InternalXabnf.g:984:1: ( ( 'Bindings' ) )
            // ../de.thwildau.tm.moses.abnf.ui/src-gen/de/thwildau/tm/moses/xabnf/ui/contentassist/antlr/internal/InternalXabnf.g:985:1: ( 'Bindings' )
            {
            // ../de.thwildau.tm.moses.abnf.ui/src-gen/de/thwildau/tm/moses/xabnf/ui/contentassist/antlr/internal/InternalXabnf.g:985:1: ( 'Bindings' )
            // ../de.thwildau.tm.moses.abnf.ui/src-gen/de/thwildau/tm/moses/xabnf/ui/contentassist/antlr/internal/InternalXabnf.g:986:1: 'Bindings'
            {
             before(grammarAccess.getBindingsAccess().getBindingsKeyword_1()); 
            match(input,22,FOLLOW_22_in_rule__Bindings__Group__1__Impl1927); 
             after(grammarAccess.getBindingsAccess().getBindingsKeyword_1()); 

            }


            }

        }
        catch (RecognitionException re) {
            reportError(re);
            recover(input,re);
        }
        finally {

            	restoreStackSize(stackSize);

        }
        return ;
    }
    // $ANTLR end "rule__Bindings__Group__1__Impl"


    // $ANTLR start "rule__Bindings__Group__2"
    // ../de.thwildau.tm.moses.abnf.ui/src-gen/de/thwildau/tm/moses/xabnf/ui/contentassist/antlr/internal/InternalXabnf.g:999:1: rule__Bindings__Group__2 : rule__Bindings__Group__2__Impl rule__Bindings__Group__3 ;
    public final void rule__Bindings__Group__2() throws RecognitionException {

        		int stackSize = keepStackSize();
            
        try {
            // ../de.thwildau.tm.moses.abnf.ui/src-gen/de/thwildau/tm/moses/xabnf/ui/contentassist/antlr/internal/InternalXabnf.g:1003:1: ( rule__Bindings__Group__2__Impl rule__Bindings__Group__3 )
            // ../de.thwildau.tm.moses.abnf.ui/src-gen/de/thwildau/tm/moses/xabnf/ui/contentassist/antlr/internal/InternalXabnf.g:1004:2: rule__Bindings__Group__2__Impl rule__Bindings__Group__3
            {
            pushFollow(FOLLOW_rule__Bindings__Group__2__Impl_in_rule__Bindings__Group__21958);
            rule__Bindings__Group__2__Impl();

            state._fsp--;

            pushFollow(FOLLOW_rule__Bindings__Group__3_in_rule__Bindings__Group__21961);
            rule__Bindings__Group__3();

            state._fsp--;


            }

        }
        catch (RecognitionException re) {
            reportError(re);
            recover(input,re);
        }
        finally {

            	restoreStackSize(stackSize);

        }
        return ;
    }
    // $ANTLR end "rule__Bindings__Group__2"


    // $ANTLR start "rule__Bindings__Group__2__Impl"
    // ../de.thwildau.tm.moses.abnf.ui/src-gen/de/thwildau/tm/moses/xabnf/ui/contentassist/antlr/internal/InternalXabnf.g:1011:1: rule__Bindings__Group__2__Impl : ( '{' ) ;
    public final void rule__Bindings__Group__2__Impl() throws RecognitionException {

        		int stackSize = keepStackSize();
            
        try {
            // ../de.thwildau.tm.moses.abnf.ui/src-gen/de/thwildau/tm/moses/xabnf/ui/contentassist/antlr/internal/InternalXabnf.g:1015:1: ( ( '{' ) )
            // ../de.thwildau.tm.moses.abnf.ui/src-gen/de/thwildau/tm/moses/xabnf/ui/contentassist/antlr/internal/InternalXabnf.g:1016:1: ( '{' )
            {
            // ../de.thwildau.tm.moses.abnf.ui/src-gen/de/thwildau/tm/moses/xabnf/ui/contentassist/antlr/internal/InternalXabnf.g:1016:1: ( '{' )
            // ../de.thwildau.tm.moses.abnf.ui/src-gen/de/thwildau/tm/moses/xabnf/ui/contentassist/antlr/internal/InternalXabnf.g:1017:1: '{'
            {
             before(grammarAccess.getBindingsAccess().getLeftCurlyBracketKeyword_2()); 
            match(input,15,FOLLOW_15_in_rule__Bindings__Group__2__Impl1989); 
             after(grammarAccess.getBindingsAccess().getLeftCurlyBracketKeyword_2()); 

            }


            }

        }
        catch (RecognitionException re) {
            reportError(re);
            recover(input,re);
        }
        finally {

            	restoreStackSize(stackSize);

        }
        return ;
    }
    // $ANTLR end "rule__Bindings__Group__2__Impl"


    // $ANTLR start "rule__Bindings__Group__3"
    // ../de.thwildau.tm.moses.abnf.ui/src-gen/de/thwildau/tm/moses/xabnf/ui/contentassist/antlr/internal/InternalXabnf.g:1030:1: rule__Bindings__Group__3 : rule__Bindings__Group__3__Impl rule__Bindings__Group__4 ;
    public final void rule__Bindings__Group__3() throws RecognitionException {

        		int stackSize = keepStackSize();
            
        try {
            // ../de.thwildau.tm.moses.abnf.ui/src-gen/de/thwildau/tm/moses/xabnf/ui/contentassist/antlr/internal/InternalXabnf.g:1034:1: ( rule__Bindings__Group__3__Impl rule__Bindings__Group__4 )
            // ../de.thwildau.tm.moses.abnf.ui/src-gen/de/thwildau/tm/moses/xabnf/ui/contentassist/antlr/internal/InternalXabnf.g:1035:2: rule__Bindings__Group__3__Impl rule__Bindings__Group__4
            {
            pushFollow(FOLLOW_rule__Bindings__Group__3__Impl_in_rule__Bindings__Group__32020);
            rule__Bindings__Group__3__Impl();

            state._fsp--;

            pushFollow(FOLLOW_rule__Bindings__Group__4_in_rule__Bindings__Group__32023);
            rule__Bindings__Group__4();

            state._fsp--;


            }

        }
        catch (RecognitionException re) {
            reportError(re);
            recover(input,re);
        }
        finally {

            	restoreStackSize(stackSize);

        }
        return ;
    }
    // $ANTLR end "rule__Bindings__Group__3"


    // $ANTLR start "rule__Bindings__Group__3__Impl"
    // ../de.thwildau.tm.moses.abnf.ui/src-gen/de/thwildau/tm/moses/xabnf/ui/contentassist/antlr/internal/InternalXabnf.g:1042:1: rule__Bindings__Group__3__Impl : ( ( rule__Bindings__BindingAssignment_3 )* ) ;
    public final void rule__Bindings__Group__3__Impl() throws RecognitionException {

        		int stackSize = keepStackSize();
            
        try {
            // ../de.thwildau.tm.moses.abnf.ui/src-gen/de/thwildau/tm/moses/xabnf/ui/contentassist/antlr/internal/InternalXabnf.g:1046:1: ( ( ( rule__Bindings__BindingAssignment_3 )* ) )
            // ../de.thwildau.tm.moses.abnf.ui/src-gen/de/thwildau/tm/moses/xabnf/ui/contentassist/antlr/internal/InternalXabnf.g:1047:1: ( ( rule__Bindings__BindingAssignment_3 )* )
            {
            // ../de.thwildau.tm.moses.abnf.ui/src-gen/de/thwildau/tm/moses/xabnf/ui/contentassist/antlr/internal/InternalXabnf.g:1047:1: ( ( rule__Bindings__BindingAssignment_3 )* )
            // ../de.thwildau.tm.moses.abnf.ui/src-gen/de/thwildau/tm/moses/xabnf/ui/contentassist/antlr/internal/InternalXabnf.g:1048:1: ( rule__Bindings__BindingAssignment_3 )*
            {
             before(grammarAccess.getBindingsAccess().getBindingAssignment_3()); 
            // ../de.thwildau.tm.moses.abnf.ui/src-gen/de/thwildau/tm/moses/xabnf/ui/contentassist/antlr/internal/InternalXabnf.g:1049:1: ( rule__Bindings__BindingAssignment_3 )*
            loop3:
            do {
                int alt3=2;
                int LA3_0 = input.LA(1);

                if ( (LA3_0==24) ) {
                    alt3=1;
                }


                switch (alt3) {
            	case 1 :
            	    // ../de.thwildau.tm.moses.abnf.ui/src-gen/de/thwildau/tm/moses/xabnf/ui/contentassist/antlr/internal/InternalXabnf.g:1049:2: rule__Bindings__BindingAssignment_3
            	    {
            	    pushFollow(FOLLOW_rule__Bindings__BindingAssignment_3_in_rule__Bindings__Group__3__Impl2050);
            	    rule__Bindings__BindingAssignment_3();

            	    state._fsp--;


            	    }
            	    break;

            	default :
            	    break loop3;
                }
            } while (true);

             after(grammarAccess.getBindingsAccess().getBindingAssignment_3()); 

            }


            }

        }
        catch (RecognitionException re) {
            reportError(re);
            recover(input,re);
        }
        finally {

            	restoreStackSize(stackSize);

        }
        return ;
    }
    // $ANTLR end "rule__Bindings__Group__3__Impl"


    // $ANTLR start "rule__Bindings__Group__4"
    // ../de.thwildau.tm.moses.abnf.ui/src-gen/de/thwildau/tm/moses/xabnf/ui/contentassist/antlr/internal/InternalXabnf.g:1059:1: rule__Bindings__Group__4 : rule__Bindings__Group__4__Impl ;
    public final void rule__Bindings__Group__4() throws RecognitionException {

        		int stackSize = keepStackSize();
            
        try {
            // ../de.thwildau.tm.moses.abnf.ui/src-gen/de/thwildau/tm/moses/xabnf/ui/contentassist/antlr/internal/InternalXabnf.g:1063:1: ( rule__Bindings__Group__4__Impl )
            // ../de.thwildau.tm.moses.abnf.ui/src-gen/de/thwildau/tm/moses/xabnf/ui/contentassist/antlr/internal/InternalXabnf.g:1064:2: rule__Bindings__Group__4__Impl
            {
            pushFollow(FOLLOW_rule__Bindings__Group__4__Impl_in_rule__Bindings__Group__42081);
            rule__Bindings__Group__4__Impl();

            state._fsp--;


            }

        }
        catch (RecognitionException re) {
            reportError(re);
            recover(input,re);
        }
        finally {

            	restoreStackSize(stackSize);

        }
        return ;
    }
    // $ANTLR end "rule__Bindings__Group__4"


    // $ANTLR start "rule__Bindings__Group__4__Impl"
    // ../de.thwildau.tm.moses.abnf.ui/src-gen/de/thwildau/tm/moses/xabnf/ui/contentassist/antlr/internal/InternalXabnf.g:1070:1: rule__Bindings__Group__4__Impl : ( '}' ) ;
    public final void rule__Bindings__Group__4__Impl() throws RecognitionException {

        		int stackSize = keepStackSize();
            
        try {
            // ../de.thwildau.tm.moses.abnf.ui/src-gen/de/thwildau/tm/moses/xabnf/ui/contentassist/antlr/internal/InternalXabnf.g:1074:1: ( ( '}' ) )
            // ../de.thwildau.tm.moses.abnf.ui/src-gen/de/thwildau/tm/moses/xabnf/ui/contentassist/antlr/internal/InternalXabnf.g:1075:1: ( '}' )
            {
            // ../de.thwildau.tm.moses.abnf.ui/src-gen/de/thwildau/tm/moses/xabnf/ui/contentassist/antlr/internal/InternalXabnf.g:1075:1: ( '}' )
            // ../de.thwildau.tm.moses.abnf.ui/src-gen/de/thwildau/tm/moses/xabnf/ui/contentassist/antlr/internal/InternalXabnf.g:1076:1: '}'
            {
             before(grammarAccess.getBindingsAccess().getRightCurlyBracketKeyword_4()); 
            match(input,23,FOLLOW_23_in_rule__Bindings__Group__4__Impl2109); 
             after(grammarAccess.getBindingsAccess().getRightCurlyBracketKeyword_4()); 

            }


            }

        }
        catch (RecognitionException re) {
            reportError(re);
            recover(input,re);
        }
        finally {

            	restoreStackSize(stackSize);

        }
        return ;
    }
    // $ANTLR end "rule__Bindings__Group__4__Impl"


    // $ANTLR start "rule__RuleBinding__Group__0"
    // ../de.thwildau.tm.moses.abnf.ui/src-gen/de/thwildau/tm/moses/xabnf/ui/contentassist/antlr/internal/InternalXabnf.g:1099:1: rule__RuleBinding__Group__0 : rule__RuleBinding__Group__0__Impl rule__RuleBinding__Group__1 ;
    public final void rule__RuleBinding__Group__0() throws RecognitionException {

        		int stackSize = keepStackSize();
            
        try {
            // ../de.thwildau.tm.moses.abnf.ui/src-gen/de/thwildau/tm/moses/xabnf/ui/contentassist/antlr/internal/InternalXabnf.g:1103:1: ( rule__RuleBinding__Group__0__Impl rule__RuleBinding__Group__1 )
            // ../de.thwildau.tm.moses.abnf.ui/src-gen/de/thwildau/tm/moses/xabnf/ui/contentassist/antlr/internal/InternalXabnf.g:1104:2: rule__RuleBinding__Group__0__Impl rule__RuleBinding__Group__1
            {
            pushFollow(FOLLOW_rule__RuleBinding__Group__0__Impl_in_rule__RuleBinding__Group__02150);
            rule__RuleBinding__Group__0__Impl();

            state._fsp--;

            pushFollow(FOLLOW_rule__RuleBinding__Group__1_in_rule__RuleBinding__Group__02153);
            rule__RuleBinding__Group__1();

            state._fsp--;


            }

        }
        catch (RecognitionException re) {
            reportError(re);
            recover(input,re);
        }
        finally {

            	restoreStackSize(stackSize);

        }
        return ;
    }
    // $ANTLR end "rule__RuleBinding__Group__0"


    // $ANTLR start "rule__RuleBinding__Group__0__Impl"
    // ../de.thwildau.tm.moses.abnf.ui/src-gen/de/thwildau/tm/moses/xabnf/ui/contentassist/antlr/internal/InternalXabnf.g:1111:1: rule__RuleBinding__Group__0__Impl : ( 'rule' ) ;
    public final void rule__RuleBinding__Group__0__Impl() throws RecognitionException {

        		int stackSize = keepStackSize();
            
        try {
            // ../de.thwildau.tm.moses.abnf.ui/src-gen/de/thwildau/tm/moses/xabnf/ui/contentassist/antlr/internal/InternalXabnf.g:1115:1: ( ( 'rule' ) )
            // ../de.thwildau.tm.moses.abnf.ui/src-gen/de/thwildau/tm/moses/xabnf/ui/contentassist/antlr/internal/InternalXabnf.g:1116:1: ( 'rule' )
            {
            // ../de.thwildau.tm.moses.abnf.ui/src-gen/de/thwildau/tm/moses/xabnf/ui/contentassist/antlr/internal/InternalXabnf.g:1116:1: ( 'rule' )
            // ../de.thwildau.tm.moses.abnf.ui/src-gen/de/thwildau/tm/moses/xabnf/ui/contentassist/antlr/internal/InternalXabnf.g:1117:1: 'rule'
            {
             before(grammarAccess.getRuleBindingAccess().getRuleKeyword_0()); 
            match(input,24,FOLLOW_24_in_rule__RuleBinding__Group__0__Impl2181); 
             after(grammarAccess.getRuleBindingAccess().getRuleKeyword_0()); 

            }


            }

        }
        catch (RecognitionException re) {
            reportError(re);
            recover(input,re);
        }
        finally {

            	restoreStackSize(stackSize);

        }
        return ;
    }
    // $ANTLR end "rule__RuleBinding__Group__0__Impl"


    // $ANTLR start "rule__RuleBinding__Group__1"
    // ../de.thwildau.tm.moses.abnf.ui/src-gen/de/thwildau/tm/moses/xabnf/ui/contentassist/antlr/internal/InternalXabnf.g:1130:1: rule__RuleBinding__Group__1 : rule__RuleBinding__Group__1__Impl rule__RuleBinding__Group__2 ;
    public final void rule__RuleBinding__Group__1() throws RecognitionException {

        		int stackSize = keepStackSize();
            
        try {
            // ../de.thwildau.tm.moses.abnf.ui/src-gen/de/thwildau/tm/moses/xabnf/ui/contentassist/antlr/internal/InternalXabnf.g:1134:1: ( rule__RuleBinding__Group__1__Impl rule__RuleBinding__Group__2 )
            // ../de.thwildau.tm.moses.abnf.ui/src-gen/de/thwildau/tm/moses/xabnf/ui/contentassist/antlr/internal/InternalXabnf.g:1135:2: rule__RuleBinding__Group__1__Impl rule__RuleBinding__Group__2
            {
            pushFollow(FOLLOW_rule__RuleBinding__Group__1__Impl_in_rule__RuleBinding__Group__12212);
            rule__RuleBinding__Group__1__Impl();

            state._fsp--;

            pushFollow(FOLLOW_rule__RuleBinding__Group__2_in_rule__RuleBinding__Group__12215);
            rule__RuleBinding__Group__2();

            state._fsp--;


            }

        }
        catch (RecognitionException re) {
            reportError(re);
            recover(input,re);
        }
        finally {

            	restoreStackSize(stackSize);

        }
        return ;
    }
    // $ANTLR end "rule__RuleBinding__Group__1"


    // $ANTLR start "rule__RuleBinding__Group__1__Impl"
    // ../de.thwildau.tm.moses.abnf.ui/src-gen/de/thwildau/tm/moses/xabnf/ui/contentassist/antlr/internal/InternalXabnf.g:1142:1: rule__RuleBinding__Group__1__Impl : ( ( rule__RuleBinding__RuleAssignment_1 ) ) ;
    public final void rule__RuleBinding__Group__1__Impl() throws RecognitionException {

        		int stackSize = keepStackSize();
            
        try {
            // ../de.thwildau.tm.moses.abnf.ui/src-gen/de/thwildau/tm/moses/xabnf/ui/contentassist/antlr/internal/InternalXabnf.g:1146:1: ( ( ( rule__RuleBinding__RuleAssignment_1 ) ) )
            // ../de.thwildau.tm.moses.abnf.ui/src-gen/de/thwildau/tm/moses/xabnf/ui/contentassist/antlr/internal/InternalXabnf.g:1147:1: ( ( rule__RuleBinding__RuleAssignment_1 ) )
            {
            // ../de.thwildau.tm.moses.abnf.ui/src-gen/de/thwildau/tm/moses/xabnf/ui/contentassist/antlr/internal/InternalXabnf.g:1147:1: ( ( rule__RuleBinding__RuleAssignment_1 ) )
            // ../de.thwildau.tm.moses.abnf.ui/src-gen/de/thwildau/tm/moses/xabnf/ui/contentassist/antlr/internal/InternalXabnf.g:1148:1: ( rule__RuleBinding__RuleAssignment_1 )
            {
             before(grammarAccess.getRuleBindingAccess().getRuleAssignment_1()); 
            // ../de.thwildau.tm.moses.abnf.ui/src-gen/de/thwildau/tm/moses/xabnf/ui/contentassist/antlr/internal/InternalXabnf.g:1149:1: ( rule__RuleBinding__RuleAssignment_1 )
            // ../de.thwildau.tm.moses.abnf.ui/src-gen/de/thwildau/tm/moses/xabnf/ui/contentassist/antlr/internal/InternalXabnf.g:1149:2: rule__RuleBinding__RuleAssignment_1
            {
            pushFollow(FOLLOW_rule__RuleBinding__RuleAssignment_1_in_rule__RuleBinding__Group__1__Impl2242);
            rule__RuleBinding__RuleAssignment_1();

            state._fsp--;


            }

             after(grammarAccess.getRuleBindingAccess().getRuleAssignment_1()); 

            }


            }

        }
        catch (RecognitionException re) {
            reportError(re);
            recover(input,re);
        }
        finally {

            	restoreStackSize(stackSize);

        }
        return ;
    }
    // $ANTLR end "rule__RuleBinding__Group__1__Impl"


    // $ANTLR start "rule__RuleBinding__Group__2"
    // ../de.thwildau.tm.moses.abnf.ui/src-gen/de/thwildau/tm/moses/xabnf/ui/contentassist/antlr/internal/InternalXabnf.g:1159:1: rule__RuleBinding__Group__2 : rule__RuleBinding__Group__2__Impl rule__RuleBinding__Group__3 ;
    public final void rule__RuleBinding__Group__2() throws RecognitionException {

        		int stackSize = keepStackSize();
            
        try {
            // ../de.thwildau.tm.moses.abnf.ui/src-gen/de/thwildau/tm/moses/xabnf/ui/contentassist/antlr/internal/InternalXabnf.g:1163:1: ( rule__RuleBinding__Group__2__Impl rule__RuleBinding__Group__3 )
            // ../de.thwildau.tm.moses.abnf.ui/src-gen/de/thwildau/tm/moses/xabnf/ui/contentassist/antlr/internal/InternalXabnf.g:1164:2: rule__RuleBinding__Group__2__Impl rule__RuleBinding__Group__3
            {
            pushFollow(FOLLOW_rule__RuleBinding__Group__2__Impl_in_rule__RuleBinding__Group__22272);
            rule__RuleBinding__Group__2__Impl();

            state._fsp--;

            pushFollow(FOLLOW_rule__RuleBinding__Group__3_in_rule__RuleBinding__Group__22275);
            rule__RuleBinding__Group__3();

            state._fsp--;


            }

        }
        catch (RecognitionException re) {
            reportError(re);
            recover(input,re);
        }
        finally {

            	restoreStackSize(stackSize);

        }
        return ;
    }
    // $ANTLR end "rule__RuleBinding__Group__2"


    // $ANTLR start "rule__RuleBinding__Group__2__Impl"
    // ../de.thwildau.tm.moses.abnf.ui/src-gen/de/thwildau/tm/moses/xabnf/ui/contentassist/antlr/internal/InternalXabnf.g:1171:1: rule__RuleBinding__Group__2__Impl : ( ( rule__RuleBinding__Group_2__0 )? ) ;
    public final void rule__RuleBinding__Group__2__Impl() throws RecognitionException {

        		int stackSize = keepStackSize();
            
        try {
            // ../de.thwildau.tm.moses.abnf.ui/src-gen/de/thwildau/tm/moses/xabnf/ui/contentassist/antlr/internal/InternalXabnf.g:1175:1: ( ( ( rule__RuleBinding__Group_2__0 )? ) )
            // ../de.thwildau.tm.moses.abnf.ui/src-gen/de/thwildau/tm/moses/xabnf/ui/contentassist/antlr/internal/InternalXabnf.g:1176:1: ( ( rule__RuleBinding__Group_2__0 )? )
            {
            // ../de.thwildau.tm.moses.abnf.ui/src-gen/de/thwildau/tm/moses/xabnf/ui/contentassist/antlr/internal/InternalXabnf.g:1176:1: ( ( rule__RuleBinding__Group_2__0 )? )
            // ../de.thwildau.tm.moses.abnf.ui/src-gen/de/thwildau/tm/moses/xabnf/ui/contentassist/antlr/internal/InternalXabnf.g:1177:1: ( rule__RuleBinding__Group_2__0 )?
            {
             before(grammarAccess.getRuleBindingAccess().getGroup_2()); 
            // ../de.thwildau.tm.moses.abnf.ui/src-gen/de/thwildau/tm/moses/xabnf/ui/contentassist/antlr/internal/InternalXabnf.g:1178:1: ( rule__RuleBinding__Group_2__0 )?
            int alt4=2;
            int LA4_0 = input.LA(1);

            if ( (LA4_0==25) ) {
                alt4=1;
            }
            switch (alt4) {
                case 1 :
                    // ../de.thwildau.tm.moses.abnf.ui/src-gen/de/thwildau/tm/moses/xabnf/ui/contentassist/antlr/internal/InternalXabnf.g:1178:2: rule__RuleBinding__Group_2__0
                    {
                    pushFollow(FOLLOW_rule__RuleBinding__Group_2__0_in_rule__RuleBinding__Group__2__Impl2302);
                    rule__RuleBinding__Group_2__0();

                    state._fsp--;


                    }
                    break;

            }

             after(grammarAccess.getRuleBindingAccess().getGroup_2()); 

            }


            }

        }
        catch (RecognitionException re) {
            reportError(re);
            recover(input,re);
        }
        finally {

            	restoreStackSize(stackSize);

        }
        return ;
    }
    // $ANTLR end "rule__RuleBinding__Group__2__Impl"


    // $ANTLR start "rule__RuleBinding__Group__3"
    // ../de.thwildau.tm.moses.abnf.ui/src-gen/de/thwildau/tm/moses/xabnf/ui/contentassist/antlr/internal/InternalXabnf.g:1188:1: rule__RuleBinding__Group__3 : rule__RuleBinding__Group__3__Impl ;
    public final void rule__RuleBinding__Group__3() throws RecognitionException {

        		int stackSize = keepStackSize();
            
        try {
            // ../de.thwildau.tm.moses.abnf.ui/src-gen/de/thwildau/tm/moses/xabnf/ui/contentassist/antlr/internal/InternalXabnf.g:1192:1: ( rule__RuleBinding__Group__3__Impl )
            // ../de.thwildau.tm.moses.abnf.ui/src-gen/de/thwildau/tm/moses/xabnf/ui/contentassist/antlr/internal/InternalXabnf.g:1193:2: rule__RuleBinding__Group__3__Impl
            {
            pushFollow(FOLLOW_rule__RuleBinding__Group__3__Impl_in_rule__RuleBinding__Group__32333);
            rule__RuleBinding__Group__3__Impl();

            state._fsp--;


            }

        }
        catch (RecognitionException re) {
            reportError(re);
            recover(input,re);
        }
        finally {

            	restoreStackSize(stackSize);

        }
        return ;
    }
    // $ANTLR end "rule__RuleBinding__Group__3"


    // $ANTLR start "rule__RuleBinding__Group__3__Impl"
    // ../de.thwildau.tm.moses.abnf.ui/src-gen/de/thwildau/tm/moses/xabnf/ui/contentassist/antlr/internal/InternalXabnf.g:1199:1: rule__RuleBinding__Group__3__Impl : ( ( rule__RuleBinding__Group_3__0 )? ) ;
    public final void rule__RuleBinding__Group__3__Impl() throws RecognitionException {

        		int stackSize = keepStackSize();
            
        try {
            // ../de.thwildau.tm.moses.abnf.ui/src-gen/de/thwildau/tm/moses/xabnf/ui/contentassist/antlr/internal/InternalXabnf.g:1203:1: ( ( ( rule__RuleBinding__Group_3__0 )? ) )
            // ../de.thwildau.tm.moses.abnf.ui/src-gen/de/thwildau/tm/moses/xabnf/ui/contentassist/antlr/internal/InternalXabnf.g:1204:1: ( ( rule__RuleBinding__Group_3__0 )? )
            {
            // ../de.thwildau.tm.moses.abnf.ui/src-gen/de/thwildau/tm/moses/xabnf/ui/contentassist/antlr/internal/InternalXabnf.g:1204:1: ( ( rule__RuleBinding__Group_3__0 )? )
            // ../de.thwildau.tm.moses.abnf.ui/src-gen/de/thwildau/tm/moses/xabnf/ui/contentassist/antlr/internal/InternalXabnf.g:1205:1: ( rule__RuleBinding__Group_3__0 )?
            {
             before(grammarAccess.getRuleBindingAccess().getGroup_3()); 
            // ../de.thwildau.tm.moses.abnf.ui/src-gen/de/thwildau/tm/moses/xabnf/ui/contentassist/antlr/internal/InternalXabnf.g:1206:1: ( rule__RuleBinding__Group_3__0 )?
            int alt5=2;
            int LA5_0 = input.LA(1);

            if ( (LA5_0==15) ) {
                alt5=1;
            }
            switch (alt5) {
                case 1 :
                    // ../de.thwildau.tm.moses.abnf.ui/src-gen/de/thwildau/tm/moses/xabnf/ui/contentassist/antlr/internal/InternalXabnf.g:1206:2: rule__RuleBinding__Group_3__0
                    {
                    pushFollow(FOLLOW_rule__RuleBinding__Group_3__0_in_rule__RuleBinding__Group__3__Impl2360);
                    rule__RuleBinding__Group_3__0();

                    state._fsp--;


                    }
                    break;

            }

             after(grammarAccess.getRuleBindingAccess().getGroup_3()); 

            }


            }

        }
        catch (RecognitionException re) {
            reportError(re);
            recover(input,re);
        }
        finally {

            	restoreStackSize(stackSize);

        }
        return ;
    }
    // $ANTLR end "rule__RuleBinding__Group__3__Impl"


    // $ANTLR start "rule__RuleBinding__Group_2__0"
    // ../de.thwildau.tm.moses.abnf.ui/src-gen/de/thwildau/tm/moses/xabnf/ui/contentassist/antlr/internal/InternalXabnf.g:1224:1: rule__RuleBinding__Group_2__0 : rule__RuleBinding__Group_2__0__Impl rule__RuleBinding__Group_2__1 ;
    public final void rule__RuleBinding__Group_2__0() throws RecognitionException {

        		int stackSize = keepStackSize();
            
        try {
            // ../de.thwildau.tm.moses.abnf.ui/src-gen/de/thwildau/tm/moses/xabnf/ui/contentassist/antlr/internal/InternalXabnf.g:1228:1: ( rule__RuleBinding__Group_2__0__Impl rule__RuleBinding__Group_2__1 )
            // ../de.thwildau.tm.moses.abnf.ui/src-gen/de/thwildau/tm/moses/xabnf/ui/contentassist/antlr/internal/InternalXabnf.g:1229:2: rule__RuleBinding__Group_2__0__Impl rule__RuleBinding__Group_2__1
            {
            pushFollow(FOLLOW_rule__RuleBinding__Group_2__0__Impl_in_rule__RuleBinding__Group_2__02399);
            rule__RuleBinding__Group_2__0__Impl();

            state._fsp--;

            pushFollow(FOLLOW_rule__RuleBinding__Group_2__1_in_rule__RuleBinding__Group_2__02402);
            rule__RuleBinding__Group_2__1();

            state._fsp--;


            }

        }
        catch (RecognitionException re) {
            reportError(re);
            recover(input,re);
        }
        finally {

            	restoreStackSize(stackSize);

        }
        return ;
    }
    // $ANTLR end "rule__RuleBinding__Group_2__0"


    // $ANTLR start "rule__RuleBinding__Group_2__0__Impl"
    // ../de.thwildau.tm.moses.abnf.ui/src-gen/de/thwildau/tm/moses/xabnf/ui/contentassist/antlr/internal/InternalXabnf.g:1236:1: rule__RuleBinding__Group_2__0__Impl : ( 'to' ) ;
    public final void rule__RuleBinding__Group_2__0__Impl() throws RecognitionException {

        		int stackSize = keepStackSize();
            
        try {
            // ../de.thwildau.tm.moses.abnf.ui/src-gen/de/thwildau/tm/moses/xabnf/ui/contentassist/antlr/internal/InternalXabnf.g:1240:1: ( ( 'to' ) )
            // ../de.thwildau.tm.moses.abnf.ui/src-gen/de/thwildau/tm/moses/xabnf/ui/contentassist/antlr/internal/InternalXabnf.g:1241:1: ( 'to' )
            {
            // ../de.thwildau.tm.moses.abnf.ui/src-gen/de/thwildau/tm/moses/xabnf/ui/contentassist/antlr/internal/InternalXabnf.g:1241:1: ( 'to' )
            // ../de.thwildau.tm.moses.abnf.ui/src-gen/de/thwildau/tm/moses/xabnf/ui/contentassist/antlr/internal/InternalXabnf.g:1242:1: 'to'
            {
             before(grammarAccess.getRuleBindingAccess().getToKeyword_2_0()); 
            match(input,25,FOLLOW_25_in_rule__RuleBinding__Group_2__0__Impl2430); 
             after(grammarAccess.getRuleBindingAccess().getToKeyword_2_0()); 

            }


            }

        }
        catch (RecognitionException re) {
            reportError(re);
            recover(input,re);
        }
        finally {

            	restoreStackSize(stackSize);

        }
        return ;
    }
    // $ANTLR end "rule__RuleBinding__Group_2__0__Impl"


    // $ANTLR start "rule__RuleBinding__Group_2__1"
    // ../de.thwildau.tm.moses.abnf.ui/src-gen/de/thwildau/tm/moses/xabnf/ui/contentassist/antlr/internal/InternalXabnf.g:1255:1: rule__RuleBinding__Group_2__1 : rule__RuleBinding__Group_2__1__Impl ;
    public final void rule__RuleBinding__Group_2__1() throws RecognitionException {

        		int stackSize = keepStackSize();
            
        try {
            // ../de.thwildau.tm.moses.abnf.ui/src-gen/de/thwildau/tm/moses/xabnf/ui/contentassist/antlr/internal/InternalXabnf.g:1259:1: ( rule__RuleBinding__Group_2__1__Impl )
            // ../de.thwildau.tm.moses.abnf.ui/src-gen/de/thwildau/tm/moses/xabnf/ui/contentassist/antlr/internal/InternalXabnf.g:1260:2: rule__RuleBinding__Group_2__1__Impl
            {
            pushFollow(FOLLOW_rule__RuleBinding__Group_2__1__Impl_in_rule__RuleBinding__Group_2__12461);
            rule__RuleBinding__Group_2__1__Impl();

            state._fsp--;


            }

        }
        catch (RecognitionException re) {
            reportError(re);
            recover(input,re);
        }
        finally {

            	restoreStackSize(stackSize);

        }
        return ;
    }
    // $ANTLR end "rule__RuleBinding__Group_2__1"


    // $ANTLR start "rule__RuleBinding__Group_2__1__Impl"
    // ../de.thwildau.tm.moses.abnf.ui/src-gen/de/thwildau/tm/moses/xabnf/ui/contentassist/antlr/internal/InternalXabnf.g:1266:1: rule__RuleBinding__Group_2__1__Impl : ( ( rule__RuleBinding__TargetRuleNameAssignment_2_1 ) ) ;
    public final void rule__RuleBinding__Group_2__1__Impl() throws RecognitionException {

        		int stackSize = keepStackSize();
            
        try {
            // ../de.thwildau.tm.moses.abnf.ui/src-gen/de/thwildau/tm/moses/xabnf/ui/contentassist/antlr/internal/InternalXabnf.g:1270:1: ( ( ( rule__RuleBinding__TargetRuleNameAssignment_2_1 ) ) )
            // ../de.thwildau.tm.moses.abnf.ui/src-gen/de/thwildau/tm/moses/xabnf/ui/contentassist/antlr/internal/InternalXabnf.g:1271:1: ( ( rule__RuleBinding__TargetRuleNameAssignment_2_1 ) )
            {
            // ../de.thwildau.tm.moses.abnf.ui/src-gen/de/thwildau/tm/moses/xabnf/ui/contentassist/antlr/internal/InternalXabnf.g:1271:1: ( ( rule__RuleBinding__TargetRuleNameAssignment_2_1 ) )
            // ../de.thwildau.tm.moses.abnf.ui/src-gen/de/thwildau/tm/moses/xabnf/ui/contentassist/antlr/internal/InternalXabnf.g:1272:1: ( rule__RuleBinding__TargetRuleNameAssignment_2_1 )
            {
             before(grammarAccess.getRuleBindingAccess().getTargetRuleNameAssignment_2_1()); 
            // ../de.thwildau.tm.moses.abnf.ui/src-gen/de/thwildau/tm/moses/xabnf/ui/contentassist/antlr/internal/InternalXabnf.g:1273:1: ( rule__RuleBinding__TargetRuleNameAssignment_2_1 )
            // ../de.thwildau.tm.moses.abnf.ui/src-gen/de/thwildau/tm/moses/xabnf/ui/contentassist/antlr/internal/InternalXabnf.g:1273:2: rule__RuleBinding__TargetRuleNameAssignment_2_1
            {
            pushFollow(FOLLOW_rule__RuleBinding__TargetRuleNameAssignment_2_1_in_rule__RuleBinding__Group_2__1__Impl2488);
            rule__RuleBinding__TargetRuleNameAssignment_2_1();

            state._fsp--;


            }

             after(grammarAccess.getRuleBindingAccess().getTargetRuleNameAssignment_2_1()); 

            }


            }

        }
        catch (RecognitionException re) {
            reportError(re);
            recover(input,re);
        }
        finally {

            	restoreStackSize(stackSize);

        }
        return ;
    }
    // $ANTLR end "rule__RuleBinding__Group_2__1__Impl"


    // $ANTLR start "rule__RuleBinding__Group_3__0"
    // ../de.thwildau.tm.moses.abnf.ui/src-gen/de/thwildau/tm/moses/xabnf/ui/contentassist/antlr/internal/InternalXabnf.g:1287:1: rule__RuleBinding__Group_3__0 : rule__RuleBinding__Group_3__0__Impl rule__RuleBinding__Group_3__1 ;
    public final void rule__RuleBinding__Group_3__0() throws RecognitionException {

        		int stackSize = keepStackSize();
            
        try {
            // ../de.thwildau.tm.moses.abnf.ui/src-gen/de/thwildau/tm/moses/xabnf/ui/contentassist/antlr/internal/InternalXabnf.g:1291:1: ( rule__RuleBinding__Group_3__0__Impl rule__RuleBinding__Group_3__1 )
            // ../de.thwildau.tm.moses.abnf.ui/src-gen/de/thwildau/tm/moses/xabnf/ui/contentassist/antlr/internal/InternalXabnf.g:1292:2: rule__RuleBinding__Group_3__0__Impl rule__RuleBinding__Group_3__1
            {
            pushFollow(FOLLOW_rule__RuleBinding__Group_3__0__Impl_in_rule__RuleBinding__Group_3__02522);
            rule__RuleBinding__Group_3__0__Impl();

            state._fsp--;

            pushFollow(FOLLOW_rule__RuleBinding__Group_3__1_in_rule__RuleBinding__Group_3__02525);
            rule__RuleBinding__Group_3__1();

            state._fsp--;


            }

        }
        catch (RecognitionException re) {
            reportError(re);
            recover(input,re);
        }
        finally {

            	restoreStackSize(stackSize);

        }
        return ;
    }
    // $ANTLR end "rule__RuleBinding__Group_3__0"


    // $ANTLR start "rule__RuleBinding__Group_3__0__Impl"
    // ../de.thwildau.tm.moses.abnf.ui/src-gen/de/thwildau/tm/moses/xabnf/ui/contentassist/antlr/internal/InternalXabnf.g:1299:1: rule__RuleBinding__Group_3__0__Impl : ( '{' ) ;
    public final void rule__RuleBinding__Group_3__0__Impl() throws RecognitionException {

        		int stackSize = keepStackSize();
            
        try {
            // ../de.thwildau.tm.moses.abnf.ui/src-gen/de/thwildau/tm/moses/xabnf/ui/contentassist/antlr/internal/InternalXabnf.g:1303:1: ( ( '{' ) )
            // ../de.thwildau.tm.moses.abnf.ui/src-gen/de/thwildau/tm/moses/xabnf/ui/contentassist/antlr/internal/InternalXabnf.g:1304:1: ( '{' )
            {
            // ../de.thwildau.tm.moses.abnf.ui/src-gen/de/thwildau/tm/moses/xabnf/ui/contentassist/antlr/internal/InternalXabnf.g:1304:1: ( '{' )
            // ../de.thwildau.tm.moses.abnf.ui/src-gen/de/thwildau/tm/moses/xabnf/ui/contentassist/antlr/internal/InternalXabnf.g:1305:1: '{'
            {
             before(grammarAccess.getRuleBindingAccess().getLeftCurlyBracketKeyword_3_0()); 
            match(input,15,FOLLOW_15_in_rule__RuleBinding__Group_3__0__Impl2553); 
             after(grammarAccess.getRuleBindingAccess().getLeftCurlyBracketKeyword_3_0()); 

            }


            }

        }
        catch (RecognitionException re) {
            reportError(re);
            recover(input,re);
        }
        finally {

            	restoreStackSize(stackSize);

        }
        return ;
    }
    // $ANTLR end "rule__RuleBinding__Group_3__0__Impl"


    // $ANTLR start "rule__RuleBinding__Group_3__1"
    // ../de.thwildau.tm.moses.abnf.ui/src-gen/de/thwildau/tm/moses/xabnf/ui/contentassist/antlr/internal/InternalXabnf.g:1318:1: rule__RuleBinding__Group_3__1 : rule__RuleBinding__Group_3__1__Impl rule__RuleBinding__Group_3__2 ;
    public final void rule__RuleBinding__Group_3__1() throws RecognitionException {

        		int stackSize = keepStackSize();
            
        try {
            // ../de.thwildau.tm.moses.abnf.ui/src-gen/de/thwildau/tm/moses/xabnf/ui/contentassist/antlr/internal/InternalXabnf.g:1322:1: ( rule__RuleBinding__Group_3__1__Impl rule__RuleBinding__Group_3__2 )
            // ../de.thwildau.tm.moses.abnf.ui/src-gen/de/thwildau/tm/moses/xabnf/ui/contentassist/antlr/internal/InternalXabnf.g:1323:2: rule__RuleBinding__Group_3__1__Impl rule__RuleBinding__Group_3__2
            {
            pushFollow(FOLLOW_rule__RuleBinding__Group_3__1__Impl_in_rule__RuleBinding__Group_3__12584);
            rule__RuleBinding__Group_3__1__Impl();

            state._fsp--;

            pushFollow(FOLLOW_rule__RuleBinding__Group_3__2_in_rule__RuleBinding__Group_3__12587);
            rule__RuleBinding__Group_3__2();

            state._fsp--;


            }

        }
        catch (RecognitionException re) {
            reportError(re);
            recover(input,re);
        }
        finally {

            	restoreStackSize(stackSize);

        }
        return ;
    }
    // $ANTLR end "rule__RuleBinding__Group_3__1"


    // $ANTLR start "rule__RuleBinding__Group_3__1__Impl"
    // ../de.thwildau.tm.moses.abnf.ui/src-gen/de/thwildau/tm/moses/xabnf/ui/contentassist/antlr/internal/InternalXabnf.g:1330:1: rule__RuleBinding__Group_3__1__Impl : ( ( ( rule__RuleBinding__FieldBindingsAssignment_3_1 ) ) ( ( rule__RuleBinding__FieldBindingsAssignment_3_1 )* ) ) ;
    public final void rule__RuleBinding__Group_3__1__Impl() throws RecognitionException {

        		int stackSize = keepStackSize();
            
        try {
            // ../de.thwildau.tm.moses.abnf.ui/src-gen/de/thwildau/tm/moses/xabnf/ui/contentassist/antlr/internal/InternalXabnf.g:1334:1: ( ( ( ( rule__RuleBinding__FieldBindingsAssignment_3_1 ) ) ( ( rule__RuleBinding__FieldBindingsAssignment_3_1 )* ) ) )
            // ../de.thwildau.tm.moses.abnf.ui/src-gen/de/thwildau/tm/moses/xabnf/ui/contentassist/antlr/internal/InternalXabnf.g:1335:1: ( ( ( rule__RuleBinding__FieldBindingsAssignment_3_1 ) ) ( ( rule__RuleBinding__FieldBindingsAssignment_3_1 )* ) )
            {
            // ../de.thwildau.tm.moses.abnf.ui/src-gen/de/thwildau/tm/moses/xabnf/ui/contentassist/antlr/internal/InternalXabnf.g:1335:1: ( ( ( rule__RuleBinding__FieldBindingsAssignment_3_1 ) ) ( ( rule__RuleBinding__FieldBindingsAssignment_3_1 )* ) )
            // ../de.thwildau.tm.moses.abnf.ui/src-gen/de/thwildau/tm/moses/xabnf/ui/contentassist/antlr/internal/InternalXabnf.g:1336:1: ( ( rule__RuleBinding__FieldBindingsAssignment_3_1 ) ) ( ( rule__RuleBinding__FieldBindingsAssignment_3_1 )* )
            {
            // ../de.thwildau.tm.moses.abnf.ui/src-gen/de/thwildau/tm/moses/xabnf/ui/contentassist/antlr/internal/InternalXabnf.g:1336:1: ( ( rule__RuleBinding__FieldBindingsAssignment_3_1 ) )
            // ../de.thwildau.tm.moses.abnf.ui/src-gen/de/thwildau/tm/moses/xabnf/ui/contentassist/antlr/internal/InternalXabnf.g:1337:1: ( rule__RuleBinding__FieldBindingsAssignment_3_1 )
            {
             before(grammarAccess.getRuleBindingAccess().getFieldBindingsAssignment_3_1()); 
            // ../de.thwildau.tm.moses.abnf.ui/src-gen/de/thwildau/tm/moses/xabnf/ui/contentassist/antlr/internal/InternalXabnf.g:1338:1: ( rule__RuleBinding__FieldBindingsAssignment_3_1 )
            // ../de.thwildau.tm.moses.abnf.ui/src-gen/de/thwildau/tm/moses/xabnf/ui/contentassist/antlr/internal/InternalXabnf.g:1338:2: rule__RuleBinding__FieldBindingsAssignment_3_1
            {
            pushFollow(FOLLOW_rule__RuleBinding__FieldBindingsAssignment_3_1_in_rule__RuleBinding__Group_3__1__Impl2616);
            rule__RuleBinding__FieldBindingsAssignment_3_1();

            state._fsp--;


            }

             after(grammarAccess.getRuleBindingAccess().getFieldBindingsAssignment_3_1()); 

            }

            // ../de.thwildau.tm.moses.abnf.ui/src-gen/de/thwildau/tm/moses/xabnf/ui/contentassist/antlr/internal/InternalXabnf.g:1341:1: ( ( rule__RuleBinding__FieldBindingsAssignment_3_1 )* )
            // ../de.thwildau.tm.moses.abnf.ui/src-gen/de/thwildau/tm/moses/xabnf/ui/contentassist/antlr/internal/InternalXabnf.g:1342:1: ( rule__RuleBinding__FieldBindingsAssignment_3_1 )*
            {
             before(grammarAccess.getRuleBindingAccess().getFieldBindingsAssignment_3_1()); 
            // ../de.thwildau.tm.moses.abnf.ui/src-gen/de/thwildau/tm/moses/xabnf/ui/contentassist/antlr/internal/InternalXabnf.g:1343:1: ( rule__RuleBinding__FieldBindingsAssignment_3_1 )*
            loop6:
            do {
                int alt6=2;
                int LA6_0 = input.LA(1);

                if ( (LA6_0==26) ) {
                    alt6=1;
                }


                switch (alt6) {
            	case 1 :
            	    // ../de.thwildau.tm.moses.abnf.ui/src-gen/de/thwildau/tm/moses/xabnf/ui/contentassist/antlr/internal/InternalXabnf.g:1343:2: rule__RuleBinding__FieldBindingsAssignment_3_1
            	    {
            	    pushFollow(FOLLOW_rule__RuleBinding__FieldBindingsAssignment_3_1_in_rule__RuleBinding__Group_3__1__Impl2628);
            	    rule__RuleBinding__FieldBindingsAssignment_3_1();

            	    state._fsp--;


            	    }
            	    break;

            	default :
            	    break loop6;
                }
            } while (true);

             after(grammarAccess.getRuleBindingAccess().getFieldBindingsAssignment_3_1()); 

            }


            }


            }

        }
        catch (RecognitionException re) {
            reportError(re);
            recover(input,re);
        }
        finally {

            	restoreStackSize(stackSize);

        }
        return ;
    }
    // $ANTLR end "rule__RuleBinding__Group_3__1__Impl"


    // $ANTLR start "rule__RuleBinding__Group_3__2"
    // ../de.thwildau.tm.moses.abnf.ui/src-gen/de/thwildau/tm/moses/xabnf/ui/contentassist/antlr/internal/InternalXabnf.g:1354:1: rule__RuleBinding__Group_3__2 : rule__RuleBinding__Group_3__2__Impl ;
    public final void rule__RuleBinding__Group_3__2() throws RecognitionException {

        		int stackSize = keepStackSize();
            
        try {
            // ../de.thwildau.tm.moses.abnf.ui/src-gen/de/thwildau/tm/moses/xabnf/ui/contentassist/antlr/internal/InternalXabnf.g:1358:1: ( rule__RuleBinding__Group_3__2__Impl )
            // ../de.thwildau.tm.moses.abnf.ui/src-gen/de/thwildau/tm/moses/xabnf/ui/contentassist/antlr/internal/InternalXabnf.g:1359:2: rule__RuleBinding__Group_3__2__Impl
            {
            pushFollow(FOLLOW_rule__RuleBinding__Group_3__2__Impl_in_rule__RuleBinding__Group_3__22661);
            rule__RuleBinding__Group_3__2__Impl();

            state._fsp--;


            }

        }
        catch (RecognitionException re) {
            reportError(re);
            recover(input,re);
        }
        finally {

            	restoreStackSize(stackSize);

        }
        return ;
    }
    // $ANTLR end "rule__RuleBinding__Group_3__2"


    // $ANTLR start "rule__RuleBinding__Group_3__2__Impl"
    // ../de.thwildau.tm.moses.abnf.ui/src-gen/de/thwildau/tm/moses/xabnf/ui/contentassist/antlr/internal/InternalXabnf.g:1365:1: rule__RuleBinding__Group_3__2__Impl : ( '}' ) ;
    public final void rule__RuleBinding__Group_3__2__Impl() throws RecognitionException {

        		int stackSize = keepStackSize();
            
        try {
            // ../de.thwildau.tm.moses.abnf.ui/src-gen/de/thwildau/tm/moses/xabnf/ui/contentassist/antlr/internal/InternalXabnf.g:1369:1: ( ( '}' ) )
            // ../de.thwildau.tm.moses.abnf.ui/src-gen/de/thwildau/tm/moses/xabnf/ui/contentassist/antlr/internal/InternalXabnf.g:1370:1: ( '}' )
            {
            // ../de.thwildau.tm.moses.abnf.ui/src-gen/de/thwildau/tm/moses/xabnf/ui/contentassist/antlr/internal/InternalXabnf.g:1370:1: ( '}' )
            // ../de.thwildau.tm.moses.abnf.ui/src-gen/de/thwildau/tm/moses/xabnf/ui/contentassist/antlr/internal/InternalXabnf.g:1371:1: '}'
            {
             before(grammarAccess.getRuleBindingAccess().getRightCurlyBracketKeyword_3_2()); 
            match(input,23,FOLLOW_23_in_rule__RuleBinding__Group_3__2__Impl2689); 
             after(grammarAccess.getRuleBindingAccess().getRightCurlyBracketKeyword_3_2()); 

            }


            }

        }
        catch (RecognitionException re) {
            reportError(re);
            recover(input,re);
        }
        finally {

            	restoreStackSize(stackSize);

        }
        return ;
    }
    // $ANTLR end "rule__RuleBinding__Group_3__2__Impl"


    // $ANTLR start "rule__FieldBinding__Group__0"
    // ../de.thwildau.tm.moses.abnf.ui/src-gen/de/thwildau/tm/moses/xabnf/ui/contentassist/antlr/internal/InternalXabnf.g:1390:1: rule__FieldBinding__Group__0 : rule__FieldBinding__Group__0__Impl rule__FieldBinding__Group__1 ;
    public final void rule__FieldBinding__Group__0() throws RecognitionException {

        		int stackSize = keepStackSize();
            
        try {
            // ../de.thwildau.tm.moses.abnf.ui/src-gen/de/thwildau/tm/moses/xabnf/ui/contentassist/antlr/internal/InternalXabnf.g:1394:1: ( rule__FieldBinding__Group__0__Impl rule__FieldBinding__Group__1 )
            // ../de.thwildau.tm.moses.abnf.ui/src-gen/de/thwildau/tm/moses/xabnf/ui/contentassist/antlr/internal/InternalXabnf.g:1395:2: rule__FieldBinding__Group__0__Impl rule__FieldBinding__Group__1
            {
            pushFollow(FOLLOW_rule__FieldBinding__Group__0__Impl_in_rule__FieldBinding__Group__02726);
            rule__FieldBinding__Group__0__Impl();

            state._fsp--;

            pushFollow(FOLLOW_rule__FieldBinding__Group__1_in_rule__FieldBinding__Group__02729);
            rule__FieldBinding__Group__1();

            state._fsp--;


            }

        }
        catch (RecognitionException re) {
            reportError(re);
            recover(input,re);
        }
        finally {

            	restoreStackSize(stackSize);

        }
        return ;
    }
    // $ANTLR end "rule__FieldBinding__Group__0"


    // $ANTLR start "rule__FieldBinding__Group__0__Impl"
    // ../de.thwildau.tm.moses.abnf.ui/src-gen/de/thwildau/tm/moses/xabnf/ui/contentassist/antlr/internal/InternalXabnf.g:1402:1: rule__FieldBinding__Group__0__Impl : ( 'ref' ) ;
    public final void rule__FieldBinding__Group__0__Impl() throws RecognitionException {

        		int stackSize = keepStackSize();
            
        try {
            // ../de.thwildau.tm.moses.abnf.ui/src-gen/de/thwildau/tm/moses/xabnf/ui/contentassist/antlr/internal/InternalXabnf.g:1406:1: ( ( 'ref' ) )
            // ../de.thwildau.tm.moses.abnf.ui/src-gen/de/thwildau/tm/moses/xabnf/ui/contentassist/antlr/internal/InternalXabnf.g:1407:1: ( 'ref' )
            {
            // ../de.thwildau.tm.moses.abnf.ui/src-gen/de/thwildau/tm/moses/xabnf/ui/contentassist/antlr/internal/InternalXabnf.g:1407:1: ( 'ref' )
            // ../de.thwildau.tm.moses.abnf.ui/src-gen/de/thwildau/tm/moses/xabnf/ui/contentassist/antlr/internal/InternalXabnf.g:1408:1: 'ref'
            {
             before(grammarAccess.getFieldBindingAccess().getRefKeyword_0()); 
            match(input,26,FOLLOW_26_in_rule__FieldBinding__Group__0__Impl2757); 
             after(grammarAccess.getFieldBindingAccess().getRefKeyword_0()); 

            }


            }

        }
        catch (RecognitionException re) {
            reportError(re);
            recover(input,re);
        }
        finally {

            	restoreStackSize(stackSize);

        }
        return ;
    }
    // $ANTLR end "rule__FieldBinding__Group__0__Impl"


    // $ANTLR start "rule__FieldBinding__Group__1"
    // ../de.thwildau.tm.moses.abnf.ui/src-gen/de/thwildau/tm/moses/xabnf/ui/contentassist/antlr/internal/InternalXabnf.g:1421:1: rule__FieldBinding__Group__1 : rule__FieldBinding__Group__1__Impl rule__FieldBinding__Group__2 ;
    public final void rule__FieldBinding__Group__1() throws RecognitionException {

        		int stackSize = keepStackSize();
            
        try {
            // ../de.thwildau.tm.moses.abnf.ui/src-gen/de/thwildau/tm/moses/xabnf/ui/contentassist/antlr/internal/InternalXabnf.g:1425:1: ( rule__FieldBinding__Group__1__Impl rule__FieldBinding__Group__2 )
            // ../de.thwildau.tm.moses.abnf.ui/src-gen/de/thwildau/tm/moses/xabnf/ui/contentassist/antlr/internal/InternalXabnf.g:1426:2: rule__FieldBinding__Group__1__Impl rule__FieldBinding__Group__2
            {
            pushFollow(FOLLOW_rule__FieldBinding__Group__1__Impl_in_rule__FieldBinding__Group__12788);
            rule__FieldBinding__Group__1__Impl();

            state._fsp--;

            pushFollow(FOLLOW_rule__FieldBinding__Group__2_in_rule__FieldBinding__Group__12791);
            rule__FieldBinding__Group__2();

            state._fsp--;


            }

        }
        catch (RecognitionException re) {
            reportError(re);
            recover(input,re);
        }
        finally {

            	restoreStackSize(stackSize);

        }
        return ;
    }
    // $ANTLR end "rule__FieldBinding__Group__1"


    // $ANTLR start "rule__FieldBinding__Group__1__Impl"
    // ../de.thwildau.tm.moses.abnf.ui/src-gen/de/thwildau/tm/moses/xabnf/ui/contentassist/antlr/internal/InternalXabnf.g:1433:1: rule__FieldBinding__Group__1__Impl : ( ( rule__FieldBinding__NameAssignment_1 ) ) ;
    public final void rule__FieldBinding__Group__1__Impl() throws RecognitionException {

        		int stackSize = keepStackSize();
            
        try {
            // ../de.thwildau.tm.moses.abnf.ui/src-gen/de/thwildau/tm/moses/xabnf/ui/contentassist/antlr/internal/InternalXabnf.g:1437:1: ( ( ( rule__FieldBinding__NameAssignment_1 ) ) )
            // ../de.thwildau.tm.moses.abnf.ui/src-gen/de/thwildau/tm/moses/xabnf/ui/contentassist/antlr/internal/InternalXabnf.g:1438:1: ( ( rule__FieldBinding__NameAssignment_1 ) )
            {
            // ../de.thwildau.tm.moses.abnf.ui/src-gen/de/thwildau/tm/moses/xabnf/ui/contentassist/antlr/internal/InternalXabnf.g:1438:1: ( ( rule__FieldBinding__NameAssignment_1 ) )
            // ../de.thwildau.tm.moses.abnf.ui/src-gen/de/thwildau/tm/moses/xabnf/ui/contentassist/antlr/internal/InternalXabnf.g:1439:1: ( rule__FieldBinding__NameAssignment_1 )
            {
             before(grammarAccess.getFieldBindingAccess().getNameAssignment_1()); 
            // ../de.thwildau.tm.moses.abnf.ui/src-gen/de/thwildau/tm/moses/xabnf/ui/contentassist/antlr/internal/InternalXabnf.g:1440:1: ( rule__FieldBinding__NameAssignment_1 )
            // ../de.thwildau.tm.moses.abnf.ui/src-gen/de/thwildau/tm/moses/xabnf/ui/contentassist/antlr/internal/InternalXabnf.g:1440:2: rule__FieldBinding__NameAssignment_1
            {
            pushFollow(FOLLOW_rule__FieldBinding__NameAssignment_1_in_rule__FieldBinding__Group__1__Impl2818);
            rule__FieldBinding__NameAssignment_1();

            state._fsp--;


            }

             after(grammarAccess.getFieldBindingAccess().getNameAssignment_1()); 

            }


            }

        }
        catch (RecognitionException re) {
            reportError(re);
            recover(input,re);
        }
        finally {

            	restoreStackSize(stackSize);

        }
        return ;
    }
    // $ANTLR end "rule__FieldBinding__Group__1__Impl"


    // $ANTLR start "rule__FieldBinding__Group__2"
    // ../de.thwildau.tm.moses.abnf.ui/src-gen/de/thwildau/tm/moses/xabnf/ui/contentassist/antlr/internal/InternalXabnf.g:1450:1: rule__FieldBinding__Group__2 : rule__FieldBinding__Group__2__Impl rule__FieldBinding__Group__3 ;
    public final void rule__FieldBinding__Group__2() throws RecognitionException {

        		int stackSize = keepStackSize();
            
        try {
            // ../de.thwildau.tm.moses.abnf.ui/src-gen/de/thwildau/tm/moses/xabnf/ui/contentassist/antlr/internal/InternalXabnf.g:1454:1: ( rule__FieldBinding__Group__2__Impl rule__FieldBinding__Group__3 )
            // ../de.thwildau.tm.moses.abnf.ui/src-gen/de/thwildau/tm/moses/xabnf/ui/contentassist/antlr/internal/InternalXabnf.g:1455:2: rule__FieldBinding__Group__2__Impl rule__FieldBinding__Group__3
            {
            pushFollow(FOLLOW_rule__FieldBinding__Group__2__Impl_in_rule__FieldBinding__Group__22848);
            rule__FieldBinding__Group__2__Impl();

            state._fsp--;

            pushFollow(FOLLOW_rule__FieldBinding__Group__3_in_rule__FieldBinding__Group__22851);
            rule__FieldBinding__Group__3();

            state._fsp--;


            }

        }
        catch (RecognitionException re) {
            reportError(re);
            recover(input,re);
        }
        finally {

            	restoreStackSize(stackSize);

        }
        return ;
    }
    // $ANTLR end "rule__FieldBinding__Group__2"


    // $ANTLR start "rule__FieldBinding__Group__2__Impl"
    // ../de.thwildau.tm.moses.abnf.ui/src-gen/de/thwildau/tm/moses/xabnf/ui/contentassist/antlr/internal/InternalXabnf.g:1462:1: rule__FieldBinding__Group__2__Impl : ( ( rule__FieldBinding__TypeAssignment_2 )? ) ;
    public final void rule__FieldBinding__Group__2__Impl() throws RecognitionException {

        		int stackSize = keepStackSize();
            
        try {
            // ../de.thwildau.tm.moses.abnf.ui/src-gen/de/thwildau/tm/moses/xabnf/ui/contentassist/antlr/internal/InternalXabnf.g:1466:1: ( ( ( rule__FieldBinding__TypeAssignment_2 )? ) )
            // ../de.thwildau.tm.moses.abnf.ui/src-gen/de/thwildau/tm/moses/xabnf/ui/contentassist/antlr/internal/InternalXabnf.g:1467:1: ( ( rule__FieldBinding__TypeAssignment_2 )? )
            {
            // ../de.thwildau.tm.moses.abnf.ui/src-gen/de/thwildau/tm/moses/xabnf/ui/contentassist/antlr/internal/InternalXabnf.g:1467:1: ( ( rule__FieldBinding__TypeAssignment_2 )? )
            // ../de.thwildau.tm.moses.abnf.ui/src-gen/de/thwildau/tm/moses/xabnf/ui/contentassist/antlr/internal/InternalXabnf.g:1468:1: ( rule__FieldBinding__TypeAssignment_2 )?
            {
             before(grammarAccess.getFieldBindingAccess().getTypeAssignment_2()); 
            // ../de.thwildau.tm.moses.abnf.ui/src-gen/de/thwildau/tm/moses/xabnf/ui/contentassist/antlr/internal/InternalXabnf.g:1469:1: ( rule__FieldBinding__TypeAssignment_2 )?
            int alt7=2;
            int LA7_0 = input.LA(1);

            if ( (LA7_0==RULE_ID) ) {
                alt7=1;
            }
            switch (alt7) {
                case 1 :
                    // ../de.thwildau.tm.moses.abnf.ui/src-gen/de/thwildau/tm/moses/xabnf/ui/contentassist/antlr/internal/InternalXabnf.g:1469:2: rule__FieldBinding__TypeAssignment_2
                    {
                    pushFollow(FOLLOW_rule__FieldBinding__TypeAssignment_2_in_rule__FieldBinding__Group__2__Impl2878);
                    rule__FieldBinding__TypeAssignment_2();

                    state._fsp--;


                    }
                    break;

            }

             after(grammarAccess.getFieldBindingAccess().getTypeAssignment_2()); 

            }


            }

        }
        catch (RecognitionException re) {
            reportError(re);
            recover(input,re);
        }
        finally {

            	restoreStackSize(stackSize);

        }
        return ;
    }
    // $ANTLR end "rule__FieldBinding__Group__2__Impl"


    // $ANTLR start "rule__FieldBinding__Group__3"
    // ../de.thwildau.tm.moses.abnf.ui/src-gen/de/thwildau/tm/moses/xabnf/ui/contentassist/antlr/internal/InternalXabnf.g:1479:1: rule__FieldBinding__Group__3 : rule__FieldBinding__Group__3__Impl rule__FieldBinding__Group__4 ;
    public final void rule__FieldBinding__Group__3() throws RecognitionException {

        		int stackSize = keepStackSize();
            
        try {
            // ../de.thwildau.tm.moses.abnf.ui/src-gen/de/thwildau/tm/moses/xabnf/ui/contentassist/antlr/internal/InternalXabnf.g:1483:1: ( rule__FieldBinding__Group__3__Impl rule__FieldBinding__Group__4 )
            // ../de.thwildau.tm.moses.abnf.ui/src-gen/de/thwildau/tm/moses/xabnf/ui/contentassist/antlr/internal/InternalXabnf.g:1484:2: rule__FieldBinding__Group__3__Impl rule__FieldBinding__Group__4
            {
            pushFollow(FOLLOW_rule__FieldBinding__Group__3__Impl_in_rule__FieldBinding__Group__32909);
            rule__FieldBinding__Group__3__Impl();

            state._fsp--;

            pushFollow(FOLLOW_rule__FieldBinding__Group__4_in_rule__FieldBinding__Group__32912);
            rule__FieldBinding__Group__4();

            state._fsp--;


            }

        }
        catch (RecognitionException re) {
            reportError(re);
            recover(input,re);
        }
        finally {

            	restoreStackSize(stackSize);

        }
        return ;
    }
    // $ANTLR end "rule__FieldBinding__Group__3"


    // $ANTLR start "rule__FieldBinding__Group__3__Impl"
    // ../de.thwildau.tm.moses.abnf.ui/src-gen/de/thwildau/tm/moses/xabnf/ui/contentassist/antlr/internal/InternalXabnf.g:1491:1: rule__FieldBinding__Group__3__Impl : ( 'to' ) ;
    public final void rule__FieldBinding__Group__3__Impl() throws RecognitionException {

        		int stackSize = keepStackSize();
            
        try {
            // ../de.thwildau.tm.moses.abnf.ui/src-gen/de/thwildau/tm/moses/xabnf/ui/contentassist/antlr/internal/InternalXabnf.g:1495:1: ( ( 'to' ) )
            // ../de.thwildau.tm.moses.abnf.ui/src-gen/de/thwildau/tm/moses/xabnf/ui/contentassist/antlr/internal/InternalXabnf.g:1496:1: ( 'to' )
            {
            // ../de.thwildau.tm.moses.abnf.ui/src-gen/de/thwildau/tm/moses/xabnf/ui/contentassist/antlr/internal/InternalXabnf.g:1496:1: ( 'to' )
            // ../de.thwildau.tm.moses.abnf.ui/src-gen/de/thwildau/tm/moses/xabnf/ui/contentassist/antlr/internal/InternalXabnf.g:1497:1: 'to'
            {
             before(grammarAccess.getFieldBindingAccess().getToKeyword_3()); 
            match(input,25,FOLLOW_25_in_rule__FieldBinding__Group__3__Impl2940); 
             after(grammarAccess.getFieldBindingAccess().getToKeyword_3()); 

            }


            }

        }
        catch (RecognitionException re) {
            reportError(re);
            recover(input,re);
        }
        finally {

            	restoreStackSize(stackSize);

        }
        return ;
    }
    // $ANTLR end "rule__FieldBinding__Group__3__Impl"


    // $ANTLR start "rule__FieldBinding__Group__4"
    // ../de.thwildau.tm.moses.abnf.ui/src-gen/de/thwildau/tm/moses/xabnf/ui/contentassist/antlr/internal/InternalXabnf.g:1510:1: rule__FieldBinding__Group__4 : rule__FieldBinding__Group__4__Impl ;
    public final void rule__FieldBinding__Group__4() throws RecognitionException {

        		int stackSize = keepStackSize();
            
        try {
            // ../de.thwildau.tm.moses.abnf.ui/src-gen/de/thwildau/tm/moses/xabnf/ui/contentassist/antlr/internal/InternalXabnf.g:1514:1: ( rule__FieldBinding__Group__4__Impl )
            // ../de.thwildau.tm.moses.abnf.ui/src-gen/de/thwildau/tm/moses/xabnf/ui/contentassist/antlr/internal/InternalXabnf.g:1515:2: rule__FieldBinding__Group__4__Impl
            {
            pushFollow(FOLLOW_rule__FieldBinding__Group__4__Impl_in_rule__FieldBinding__Group__42971);
            rule__FieldBinding__Group__4__Impl();

            state._fsp--;


            }

        }
        catch (RecognitionException re) {
            reportError(re);
            recover(input,re);
        }
        finally {

            	restoreStackSize(stackSize);

        }
        return ;
    }
    // $ANTLR end "rule__FieldBinding__Group__4"


    // $ANTLR start "rule__FieldBinding__Group__4__Impl"
    // ../de.thwildau.tm.moses.abnf.ui/src-gen/de/thwildau/tm/moses/xabnf/ui/contentassist/antlr/internal/InternalXabnf.g:1521:1: rule__FieldBinding__Group__4__Impl : ( ( rule__FieldBinding__TargetNameAssignment_4 ) ) ;
    public final void rule__FieldBinding__Group__4__Impl() throws RecognitionException {

        		int stackSize = keepStackSize();
            
        try {
            // ../de.thwildau.tm.moses.abnf.ui/src-gen/de/thwildau/tm/moses/xabnf/ui/contentassist/antlr/internal/InternalXabnf.g:1525:1: ( ( ( rule__FieldBinding__TargetNameAssignment_4 ) ) )
            // ../de.thwildau.tm.moses.abnf.ui/src-gen/de/thwildau/tm/moses/xabnf/ui/contentassist/antlr/internal/InternalXabnf.g:1526:1: ( ( rule__FieldBinding__TargetNameAssignment_4 ) )
            {
            // ../de.thwildau.tm.moses.abnf.ui/src-gen/de/thwildau/tm/moses/xabnf/ui/contentassist/antlr/internal/InternalXabnf.g:1526:1: ( ( rule__FieldBinding__TargetNameAssignment_4 ) )
            // ../de.thwildau.tm.moses.abnf.ui/src-gen/de/thwildau/tm/moses/xabnf/ui/contentassist/antlr/internal/InternalXabnf.g:1527:1: ( rule__FieldBinding__TargetNameAssignment_4 )
            {
             before(grammarAccess.getFieldBindingAccess().getTargetNameAssignment_4()); 
            // ../de.thwildau.tm.moses.abnf.ui/src-gen/de/thwildau/tm/moses/xabnf/ui/contentassist/antlr/internal/InternalXabnf.g:1528:1: ( rule__FieldBinding__TargetNameAssignment_4 )
            // ../de.thwildau.tm.moses.abnf.ui/src-gen/de/thwildau/tm/moses/xabnf/ui/contentassist/antlr/internal/InternalXabnf.g:1528:2: rule__FieldBinding__TargetNameAssignment_4
            {
            pushFollow(FOLLOW_rule__FieldBinding__TargetNameAssignment_4_in_rule__FieldBinding__Group__4__Impl2998);
            rule__FieldBinding__TargetNameAssignment_4();

            state._fsp--;


            }

             after(grammarAccess.getFieldBindingAccess().getTargetNameAssignment_4()); 

            }


            }

        }
        catch (RecognitionException re) {
            reportError(re);
            recover(input,re);
        }
        finally {

            	restoreStackSize(stackSize);

        }
        return ;
    }
    // $ANTLR end "rule__FieldBinding__Group__4__Impl"


    // $ANTLR start "rule__ClassBinding__Group__0"
    // ../de.thwildau.tm.moses.abnf.ui/src-gen/de/thwildau/tm/moses/xabnf/ui/contentassist/antlr/internal/InternalXabnf.g:1548:1: rule__ClassBinding__Group__0 : rule__ClassBinding__Group__0__Impl rule__ClassBinding__Group__1 ;
    public final void rule__ClassBinding__Group__0() throws RecognitionException {

        		int stackSize = keepStackSize();
            
        try {
            // ../de.thwildau.tm.moses.abnf.ui/src-gen/de/thwildau/tm/moses/xabnf/ui/contentassist/antlr/internal/InternalXabnf.g:1552:1: ( rule__ClassBinding__Group__0__Impl rule__ClassBinding__Group__1 )
            // ../de.thwildau.tm.moses.abnf.ui/src-gen/de/thwildau/tm/moses/xabnf/ui/contentassist/antlr/internal/InternalXabnf.g:1553:2: rule__ClassBinding__Group__0__Impl rule__ClassBinding__Group__1
            {
            pushFollow(FOLLOW_rule__ClassBinding__Group__0__Impl_in_rule__ClassBinding__Group__03038);
            rule__ClassBinding__Group__0__Impl();

            state._fsp--;

            pushFollow(FOLLOW_rule__ClassBinding__Group__1_in_rule__ClassBinding__Group__03041);
            rule__ClassBinding__Group__1();

            state._fsp--;


            }

        }
        catch (RecognitionException re) {
            reportError(re);
            recover(input,re);
        }
        finally {

            	restoreStackSize(stackSize);

        }
        return ;
    }
    // $ANTLR end "rule__ClassBinding__Group__0"


    // $ANTLR start "rule__ClassBinding__Group__0__Impl"
    // ../de.thwildau.tm.moses.abnf.ui/src-gen/de/thwildau/tm/moses/xabnf/ui/contentassist/antlr/internal/InternalXabnf.g:1560:1: rule__ClassBinding__Group__0__Impl : ( 'rule' ) ;
    public final void rule__ClassBinding__Group__0__Impl() throws RecognitionException {

        		int stackSize = keepStackSize();
            
        try {
            // ../de.thwildau.tm.moses.abnf.ui/src-gen/de/thwildau/tm/moses/xabnf/ui/contentassist/antlr/internal/InternalXabnf.g:1564:1: ( ( 'rule' ) )
            // ../de.thwildau.tm.moses.abnf.ui/src-gen/de/thwildau/tm/moses/xabnf/ui/contentassist/antlr/internal/InternalXabnf.g:1565:1: ( 'rule' )
            {
            // ../de.thwildau.tm.moses.abnf.ui/src-gen/de/thwildau/tm/moses/xabnf/ui/contentassist/antlr/internal/InternalXabnf.g:1565:1: ( 'rule' )
            // ../de.thwildau.tm.moses.abnf.ui/src-gen/de/thwildau/tm/moses/xabnf/ui/contentassist/antlr/internal/InternalXabnf.g:1566:1: 'rule'
            {
             before(grammarAccess.getClassBindingAccess().getRuleKeyword_0()); 
            match(input,24,FOLLOW_24_in_rule__ClassBinding__Group__0__Impl3069); 
             after(grammarAccess.getClassBindingAccess().getRuleKeyword_0()); 

            }


            }

        }
        catch (RecognitionException re) {
            reportError(re);
            recover(input,re);
        }
        finally {

            	restoreStackSize(stackSize);

        }
        return ;
    }
    // $ANTLR end "rule__ClassBinding__Group__0__Impl"


    // $ANTLR start "rule__ClassBinding__Group__1"
    // ../de.thwildau.tm.moses.abnf.ui/src-gen/de/thwildau/tm/moses/xabnf/ui/contentassist/antlr/internal/InternalXabnf.g:1579:1: rule__ClassBinding__Group__1 : rule__ClassBinding__Group__1__Impl rule__ClassBinding__Group__2 ;
    public final void rule__ClassBinding__Group__1() throws RecognitionException {

        		int stackSize = keepStackSize();
            
        try {
            // ../de.thwildau.tm.moses.abnf.ui/src-gen/de/thwildau/tm/moses/xabnf/ui/contentassist/antlr/internal/InternalXabnf.g:1583:1: ( rule__ClassBinding__Group__1__Impl rule__ClassBinding__Group__2 )
            // ../de.thwildau.tm.moses.abnf.ui/src-gen/de/thwildau/tm/moses/xabnf/ui/contentassist/antlr/internal/InternalXabnf.g:1584:2: rule__ClassBinding__Group__1__Impl rule__ClassBinding__Group__2
            {
            pushFollow(FOLLOW_rule__ClassBinding__Group__1__Impl_in_rule__ClassBinding__Group__13100);
            rule__ClassBinding__Group__1__Impl();

            state._fsp--;

            pushFollow(FOLLOW_rule__ClassBinding__Group__2_in_rule__ClassBinding__Group__13103);
            rule__ClassBinding__Group__2();

            state._fsp--;


            }

        }
        catch (RecognitionException re) {
            reportError(re);
            recover(input,re);
        }
        finally {

            	restoreStackSize(stackSize);

        }
        return ;
    }
    // $ANTLR end "rule__ClassBinding__Group__1"


    // $ANTLR start "rule__ClassBinding__Group__1__Impl"
    // ../de.thwildau.tm.moses.abnf.ui/src-gen/de/thwildau/tm/moses/xabnf/ui/contentassist/antlr/internal/InternalXabnf.g:1591:1: rule__ClassBinding__Group__1__Impl : ( ( rule__ClassBinding__RuleAssignment_1 ) ) ;
    public final void rule__ClassBinding__Group__1__Impl() throws RecognitionException {

        		int stackSize = keepStackSize();
            
        try {
            // ../de.thwildau.tm.moses.abnf.ui/src-gen/de/thwildau/tm/moses/xabnf/ui/contentassist/antlr/internal/InternalXabnf.g:1595:1: ( ( ( rule__ClassBinding__RuleAssignment_1 ) ) )
            // ../de.thwildau.tm.moses.abnf.ui/src-gen/de/thwildau/tm/moses/xabnf/ui/contentassist/antlr/internal/InternalXabnf.g:1596:1: ( ( rule__ClassBinding__RuleAssignment_1 ) )
            {
            // ../de.thwildau.tm.moses.abnf.ui/src-gen/de/thwildau/tm/moses/xabnf/ui/contentassist/antlr/internal/InternalXabnf.g:1596:1: ( ( rule__ClassBinding__RuleAssignment_1 ) )
            // ../de.thwildau.tm.moses.abnf.ui/src-gen/de/thwildau/tm/moses/xabnf/ui/contentassist/antlr/internal/InternalXabnf.g:1597:1: ( rule__ClassBinding__RuleAssignment_1 )
            {
             before(grammarAccess.getClassBindingAccess().getRuleAssignment_1()); 
            // ../de.thwildau.tm.moses.abnf.ui/src-gen/de/thwildau/tm/moses/xabnf/ui/contentassist/antlr/internal/InternalXabnf.g:1598:1: ( rule__ClassBinding__RuleAssignment_1 )
            // ../de.thwildau.tm.moses.abnf.ui/src-gen/de/thwildau/tm/moses/xabnf/ui/contentassist/antlr/internal/InternalXabnf.g:1598:2: rule__ClassBinding__RuleAssignment_1
            {
            pushFollow(FOLLOW_rule__ClassBinding__RuleAssignment_1_in_rule__ClassBinding__Group__1__Impl3130);
            rule__ClassBinding__RuleAssignment_1();

            state._fsp--;


            }

             after(grammarAccess.getClassBindingAccess().getRuleAssignment_1()); 

            }


            }

        }
        catch (RecognitionException re) {
            reportError(re);
            recover(input,re);
        }
        finally {

            	restoreStackSize(stackSize);

        }
        return ;
    }
    // $ANTLR end "rule__ClassBinding__Group__1__Impl"


    // $ANTLR start "rule__ClassBinding__Group__2"
    // ../de.thwildau.tm.moses.abnf.ui/src-gen/de/thwildau/tm/moses/xabnf/ui/contentassist/antlr/internal/InternalXabnf.g:1608:1: rule__ClassBinding__Group__2 : rule__ClassBinding__Group__2__Impl rule__ClassBinding__Group__3 ;
    public final void rule__ClassBinding__Group__2() throws RecognitionException {

        		int stackSize = keepStackSize();
            
        try {
            // ../de.thwildau.tm.moses.abnf.ui/src-gen/de/thwildau/tm/moses/xabnf/ui/contentassist/antlr/internal/InternalXabnf.g:1612:1: ( rule__ClassBinding__Group__2__Impl rule__ClassBinding__Group__3 )
            // ../de.thwildau.tm.moses.abnf.ui/src-gen/de/thwildau/tm/moses/xabnf/ui/contentassist/antlr/internal/InternalXabnf.g:1613:2: rule__ClassBinding__Group__2__Impl rule__ClassBinding__Group__3
            {
            pushFollow(FOLLOW_rule__ClassBinding__Group__2__Impl_in_rule__ClassBinding__Group__23160);
            rule__ClassBinding__Group__2__Impl();

            state._fsp--;

            pushFollow(FOLLOW_rule__ClassBinding__Group__3_in_rule__ClassBinding__Group__23163);
            rule__ClassBinding__Group__3();

            state._fsp--;


            }

        }
        catch (RecognitionException re) {
            reportError(re);
            recover(input,re);
        }
        finally {

            	restoreStackSize(stackSize);

        }
        return ;
    }
    // $ANTLR end "rule__ClassBinding__Group__2"


    // $ANTLR start "rule__ClassBinding__Group__2__Impl"
    // ../de.thwildau.tm.moses.abnf.ui/src-gen/de/thwildau/tm/moses/xabnf/ui/contentassist/antlr/internal/InternalXabnf.g:1620:1: rule__ClassBinding__Group__2__Impl : ( 'toClass' ) ;
    public final void rule__ClassBinding__Group__2__Impl() throws RecognitionException {

        		int stackSize = keepStackSize();
            
        try {
            // ../de.thwildau.tm.moses.abnf.ui/src-gen/de/thwildau/tm/moses/xabnf/ui/contentassist/antlr/internal/InternalXabnf.g:1624:1: ( ( 'toClass' ) )
            // ../de.thwildau.tm.moses.abnf.ui/src-gen/de/thwildau/tm/moses/xabnf/ui/contentassist/antlr/internal/InternalXabnf.g:1625:1: ( 'toClass' )
            {
            // ../de.thwildau.tm.moses.abnf.ui/src-gen/de/thwildau/tm/moses/xabnf/ui/contentassist/antlr/internal/InternalXabnf.g:1625:1: ( 'toClass' )
            // ../de.thwildau.tm.moses.abnf.ui/src-gen/de/thwildau/tm/moses/xabnf/ui/contentassist/antlr/internal/InternalXabnf.g:1626:1: 'toClass'
            {
             before(grammarAccess.getClassBindingAccess().getToClassKeyword_2()); 
            match(input,27,FOLLOW_27_in_rule__ClassBinding__Group__2__Impl3191); 
             after(grammarAccess.getClassBindingAccess().getToClassKeyword_2()); 

            }


            }

        }
        catch (RecognitionException re) {
            reportError(re);
            recover(input,re);
        }
        finally {

            	restoreStackSize(stackSize);

        }
        return ;
    }
    // $ANTLR end "rule__ClassBinding__Group__2__Impl"


    // $ANTLR start "rule__ClassBinding__Group__3"
    // ../de.thwildau.tm.moses.abnf.ui/src-gen/de/thwildau/tm/moses/xabnf/ui/contentassist/antlr/internal/InternalXabnf.g:1639:1: rule__ClassBinding__Group__3 : rule__ClassBinding__Group__3__Impl rule__ClassBinding__Group__4 ;
    public final void rule__ClassBinding__Group__3() throws RecognitionException {

        		int stackSize = keepStackSize();
            
        try {
            // ../de.thwildau.tm.moses.abnf.ui/src-gen/de/thwildau/tm/moses/xabnf/ui/contentassist/antlr/internal/InternalXabnf.g:1643:1: ( rule__ClassBinding__Group__3__Impl rule__ClassBinding__Group__4 )
            // ../de.thwildau.tm.moses.abnf.ui/src-gen/de/thwildau/tm/moses/xabnf/ui/contentassist/antlr/internal/InternalXabnf.g:1644:2: rule__ClassBinding__Group__3__Impl rule__ClassBinding__Group__4
            {
            pushFollow(FOLLOW_rule__ClassBinding__Group__3__Impl_in_rule__ClassBinding__Group__33222);
            rule__ClassBinding__Group__3__Impl();

            state._fsp--;

            pushFollow(FOLLOW_rule__ClassBinding__Group__4_in_rule__ClassBinding__Group__33225);
            rule__ClassBinding__Group__4();

            state._fsp--;


            }

        }
        catch (RecognitionException re) {
            reportError(re);
            recover(input,re);
        }
        finally {

            	restoreStackSize(stackSize);

        }
        return ;
    }
    // $ANTLR end "rule__ClassBinding__Group__3"


    // $ANTLR start "rule__ClassBinding__Group__3__Impl"
    // ../de.thwildau.tm.moses.abnf.ui/src-gen/de/thwildau/tm/moses/xabnf/ui/contentassist/antlr/internal/InternalXabnf.g:1651:1: rule__ClassBinding__Group__3__Impl : ( ( rule__ClassBinding__ClassNameAssignment_3 ) ) ;
    public final void rule__ClassBinding__Group__3__Impl() throws RecognitionException {

        		int stackSize = keepStackSize();
            
        try {
            // ../de.thwildau.tm.moses.abnf.ui/src-gen/de/thwildau/tm/moses/xabnf/ui/contentassist/antlr/internal/InternalXabnf.g:1655:1: ( ( ( rule__ClassBinding__ClassNameAssignment_3 ) ) )
            // ../de.thwildau.tm.moses.abnf.ui/src-gen/de/thwildau/tm/moses/xabnf/ui/contentassist/antlr/internal/InternalXabnf.g:1656:1: ( ( rule__ClassBinding__ClassNameAssignment_3 ) )
            {
            // ../de.thwildau.tm.moses.abnf.ui/src-gen/de/thwildau/tm/moses/xabnf/ui/contentassist/antlr/internal/InternalXabnf.g:1656:1: ( ( rule__ClassBinding__ClassNameAssignment_3 ) )
            // ../de.thwildau.tm.moses.abnf.ui/src-gen/de/thwildau/tm/moses/xabnf/ui/contentassist/antlr/internal/InternalXabnf.g:1657:1: ( rule__ClassBinding__ClassNameAssignment_3 )
            {
             before(grammarAccess.getClassBindingAccess().getClassNameAssignment_3()); 
            // ../de.thwildau.tm.moses.abnf.ui/src-gen/de/thwildau/tm/moses/xabnf/ui/contentassist/antlr/internal/InternalXabnf.g:1658:1: ( rule__ClassBinding__ClassNameAssignment_3 )
            // ../de.thwildau.tm.moses.abnf.ui/src-gen/de/thwildau/tm/moses/xabnf/ui/contentassist/antlr/internal/InternalXabnf.g:1658:2: rule__ClassBinding__ClassNameAssignment_3
            {
            pushFollow(FOLLOW_rule__ClassBinding__ClassNameAssignment_3_in_rule__ClassBinding__Group__3__Impl3252);
            rule__ClassBinding__ClassNameAssignment_3();

            state._fsp--;


            }

             after(grammarAccess.getClassBindingAccess().getClassNameAssignment_3()); 

            }


            }

        }
        catch (RecognitionException re) {
            reportError(re);
            recover(input,re);
        }
        finally {

            	restoreStackSize(stackSize);

        }
        return ;
    }
    // $ANTLR end "rule__ClassBinding__Group__3__Impl"


    // $ANTLR start "rule__ClassBinding__Group__4"
    // ../de.thwildau.tm.moses.abnf.ui/src-gen/de/thwildau/tm/moses/xabnf/ui/contentassist/antlr/internal/InternalXabnf.g:1668:1: rule__ClassBinding__Group__4 : rule__ClassBinding__Group__4__Impl ;
    public final void rule__ClassBinding__Group__4() throws RecognitionException {

        		int stackSize = keepStackSize();
            
        try {
            // ../de.thwildau.tm.moses.abnf.ui/src-gen/de/thwildau/tm/moses/xabnf/ui/contentassist/antlr/internal/InternalXabnf.g:1672:1: ( rule__ClassBinding__Group__4__Impl )
            // ../de.thwildau.tm.moses.abnf.ui/src-gen/de/thwildau/tm/moses/xabnf/ui/contentassist/antlr/internal/InternalXabnf.g:1673:2: rule__ClassBinding__Group__4__Impl
            {
            pushFollow(FOLLOW_rule__ClassBinding__Group__4__Impl_in_rule__ClassBinding__Group__43282);
            rule__ClassBinding__Group__4__Impl();

            state._fsp--;


            }

        }
        catch (RecognitionException re) {
            reportError(re);
            recover(input,re);
        }
        finally {

            	restoreStackSize(stackSize);

        }
        return ;
    }
    // $ANTLR end "rule__ClassBinding__Group__4"


    // $ANTLR start "rule__ClassBinding__Group__4__Impl"
    // ../de.thwildau.tm.moses.abnf.ui/src-gen/de/thwildau/tm/moses/xabnf/ui/contentassist/antlr/internal/InternalXabnf.g:1679:1: rule__ClassBinding__Group__4__Impl : ( ( rule__ClassBinding__Group_4__0 )? ) ;
    public final void rule__ClassBinding__Group__4__Impl() throws RecognitionException {

        		int stackSize = keepStackSize();
            
        try {
            // ../de.thwildau.tm.moses.abnf.ui/src-gen/de/thwildau/tm/moses/xabnf/ui/contentassist/antlr/internal/InternalXabnf.g:1683:1: ( ( ( rule__ClassBinding__Group_4__0 )? ) )
            // ../de.thwildau.tm.moses.abnf.ui/src-gen/de/thwildau/tm/moses/xabnf/ui/contentassist/antlr/internal/InternalXabnf.g:1684:1: ( ( rule__ClassBinding__Group_4__0 )? )
            {
            // ../de.thwildau.tm.moses.abnf.ui/src-gen/de/thwildau/tm/moses/xabnf/ui/contentassist/antlr/internal/InternalXabnf.g:1684:1: ( ( rule__ClassBinding__Group_4__0 )? )
            // ../de.thwildau.tm.moses.abnf.ui/src-gen/de/thwildau/tm/moses/xabnf/ui/contentassist/antlr/internal/InternalXabnf.g:1685:1: ( rule__ClassBinding__Group_4__0 )?
            {
             before(grammarAccess.getClassBindingAccess().getGroup_4()); 
            // ../de.thwildau.tm.moses.abnf.ui/src-gen/de/thwildau/tm/moses/xabnf/ui/contentassist/antlr/internal/InternalXabnf.g:1686:1: ( rule__ClassBinding__Group_4__0 )?
            int alt8=2;
            int LA8_0 = input.LA(1);

            if ( (LA8_0==28) ) {
                alt8=1;
            }
            switch (alt8) {
                case 1 :
                    // ../de.thwildau.tm.moses.abnf.ui/src-gen/de/thwildau/tm/moses/xabnf/ui/contentassist/antlr/internal/InternalXabnf.g:1686:2: rule__ClassBinding__Group_4__0
                    {
                    pushFollow(FOLLOW_rule__ClassBinding__Group_4__0_in_rule__ClassBinding__Group__4__Impl3309);
                    rule__ClassBinding__Group_4__0();

                    state._fsp--;


                    }
                    break;

            }

             after(grammarAccess.getClassBindingAccess().getGroup_4()); 

            }


            }

        }
        catch (RecognitionException re) {
            reportError(re);
            recover(input,re);
        }
        finally {

            	restoreStackSize(stackSize);

        }
        return ;
    }
    // $ANTLR end "rule__ClassBinding__Group__4__Impl"


    // $ANTLR start "rule__ClassBinding__Group_4__0"
    // ../de.thwildau.tm.moses.abnf.ui/src-gen/de/thwildau/tm/moses/xabnf/ui/contentassist/antlr/internal/InternalXabnf.g:1706:1: rule__ClassBinding__Group_4__0 : rule__ClassBinding__Group_4__0__Impl rule__ClassBinding__Group_4__1 ;
    public final void rule__ClassBinding__Group_4__0() throws RecognitionException {

        		int stackSize = keepStackSize();
            
        try {
            // ../de.thwildau.tm.moses.abnf.ui/src-gen/de/thwildau/tm/moses/xabnf/ui/contentassist/antlr/internal/InternalXabnf.g:1710:1: ( rule__ClassBinding__Group_4__0__Impl rule__ClassBinding__Group_4__1 )
            // ../de.thwildau.tm.moses.abnf.ui/src-gen/de/thwildau/tm/moses/xabnf/ui/contentassist/antlr/internal/InternalXabnf.g:1711:2: rule__ClassBinding__Group_4__0__Impl rule__ClassBinding__Group_4__1
            {
            pushFollow(FOLLOW_rule__ClassBinding__Group_4__0__Impl_in_rule__ClassBinding__Group_4__03350);
            rule__ClassBinding__Group_4__0__Impl();

            state._fsp--;

            pushFollow(FOLLOW_rule__ClassBinding__Group_4__1_in_rule__ClassBinding__Group_4__03353);
            rule__ClassBinding__Group_4__1();

            state._fsp--;


            }

        }
        catch (RecognitionException re) {
            reportError(re);
            recover(input,re);
        }
        finally {

            	restoreStackSize(stackSize);

        }
        return ;
    }
    // $ANTLR end "rule__ClassBinding__Group_4__0"


    // $ANTLR start "rule__ClassBinding__Group_4__0__Impl"
    // ../de.thwildau.tm.moses.abnf.ui/src-gen/de/thwildau/tm/moses/xabnf/ui/contentassist/antlr/internal/InternalXabnf.g:1718:1: rule__ClassBinding__Group_4__0__Impl : ( 'toMethod' ) ;
    public final void rule__ClassBinding__Group_4__0__Impl() throws RecognitionException {

        		int stackSize = keepStackSize();
            
        try {
            // ../de.thwildau.tm.moses.abnf.ui/src-gen/de/thwildau/tm/moses/xabnf/ui/contentassist/antlr/internal/InternalXabnf.g:1722:1: ( ( 'toMethod' ) )
            // ../de.thwildau.tm.moses.abnf.ui/src-gen/de/thwildau/tm/moses/xabnf/ui/contentassist/antlr/internal/InternalXabnf.g:1723:1: ( 'toMethod' )
            {
            // ../de.thwildau.tm.moses.abnf.ui/src-gen/de/thwildau/tm/moses/xabnf/ui/contentassist/antlr/internal/InternalXabnf.g:1723:1: ( 'toMethod' )
            // ../de.thwildau.tm.moses.abnf.ui/src-gen/de/thwildau/tm/moses/xabnf/ui/contentassist/antlr/internal/InternalXabnf.g:1724:1: 'toMethod'
            {
             before(grammarAccess.getClassBindingAccess().getToMethodKeyword_4_0()); 
            match(input,28,FOLLOW_28_in_rule__ClassBinding__Group_4__0__Impl3381); 
             after(grammarAccess.getClassBindingAccess().getToMethodKeyword_4_0()); 

            }


            }

        }
        catch (RecognitionException re) {
            reportError(re);
            recover(input,re);
        }
        finally {

            	restoreStackSize(stackSize);

        }
        return ;
    }
    // $ANTLR end "rule__ClassBinding__Group_4__0__Impl"


    // $ANTLR start "rule__ClassBinding__Group_4__1"
    // ../de.thwildau.tm.moses.abnf.ui/src-gen/de/thwildau/tm/moses/xabnf/ui/contentassist/antlr/internal/InternalXabnf.g:1737:1: rule__ClassBinding__Group_4__1 : rule__ClassBinding__Group_4__1__Impl ;
    public final void rule__ClassBinding__Group_4__1() throws RecognitionException {

        		int stackSize = keepStackSize();
            
        try {
            // ../de.thwildau.tm.moses.abnf.ui/src-gen/de/thwildau/tm/moses/xabnf/ui/contentassist/antlr/internal/InternalXabnf.g:1741:1: ( rule__ClassBinding__Group_4__1__Impl )
            // ../de.thwildau.tm.moses.abnf.ui/src-gen/de/thwildau/tm/moses/xabnf/ui/contentassist/antlr/internal/InternalXabnf.g:1742:2: rule__ClassBinding__Group_4__1__Impl
            {
            pushFollow(FOLLOW_rule__ClassBinding__Group_4__1__Impl_in_rule__ClassBinding__Group_4__13412);
            rule__ClassBinding__Group_4__1__Impl();

            state._fsp--;


            }

        }
        catch (RecognitionException re) {
            reportError(re);
            recover(input,re);
        }
        finally {

            	restoreStackSize(stackSize);

        }
        return ;
    }
    // $ANTLR end "rule__ClassBinding__Group_4__1"


    // $ANTLR start "rule__ClassBinding__Group_4__1__Impl"
    // ../de.thwildau.tm.moses.abnf.ui/src-gen/de/thwildau/tm/moses/xabnf/ui/contentassist/antlr/internal/InternalXabnf.g:1748:1: rule__ClassBinding__Group_4__1__Impl : ( ( rule__ClassBinding__MethodNameAssignment_4_1 ) ) ;
    public final void rule__ClassBinding__Group_4__1__Impl() throws RecognitionException {

        		int stackSize = keepStackSize();
            
        try {
            // ../de.thwildau.tm.moses.abnf.ui/src-gen/de/thwildau/tm/moses/xabnf/ui/contentassist/antlr/internal/InternalXabnf.g:1752:1: ( ( ( rule__ClassBinding__MethodNameAssignment_4_1 ) ) )
            // ../de.thwildau.tm.moses.abnf.ui/src-gen/de/thwildau/tm/moses/xabnf/ui/contentassist/antlr/internal/InternalXabnf.g:1753:1: ( ( rule__ClassBinding__MethodNameAssignment_4_1 ) )
            {
            // ../de.thwildau.tm.moses.abnf.ui/src-gen/de/thwildau/tm/moses/xabnf/ui/contentassist/antlr/internal/InternalXabnf.g:1753:1: ( ( rule__ClassBinding__MethodNameAssignment_4_1 ) )
            // ../de.thwildau.tm.moses.abnf.ui/src-gen/de/thwildau/tm/moses/xabnf/ui/contentassist/antlr/internal/InternalXabnf.g:1754:1: ( rule__ClassBinding__MethodNameAssignment_4_1 )
            {
             before(grammarAccess.getClassBindingAccess().getMethodNameAssignment_4_1()); 
            // ../de.thwildau.tm.moses.abnf.ui/src-gen/de/thwildau/tm/moses/xabnf/ui/contentassist/antlr/internal/InternalXabnf.g:1755:1: ( rule__ClassBinding__MethodNameAssignment_4_1 )
            // ../de.thwildau.tm.moses.abnf.ui/src-gen/de/thwildau/tm/moses/xabnf/ui/contentassist/antlr/internal/InternalXabnf.g:1755:2: rule__ClassBinding__MethodNameAssignment_4_1
            {
            pushFollow(FOLLOW_rule__ClassBinding__MethodNameAssignment_4_1_in_rule__ClassBinding__Group_4__1__Impl3439);
            rule__ClassBinding__MethodNameAssignment_4_1();

            state._fsp--;


            }

             after(grammarAccess.getClassBindingAccess().getMethodNameAssignment_4_1()); 

            }


            }

        }
        catch (RecognitionException re) {
            reportError(re);
            recover(input,re);
        }
        finally {

            	restoreStackSize(stackSize);

        }
        return ;
    }
    // $ANTLR end "rule__ClassBinding__Group_4__1__Impl"


    // $ANTLR start "rule__GeneratorModel__UnorderedGroup"
    // ../de.thwildau.tm.moses.abnf.ui/src-gen/de/thwildau/tm/moses/xabnf/ui/contentassist/antlr/internal/InternalXabnf.g:1770:1: rule__GeneratorModel__UnorderedGroup : rule__GeneratorModel__UnorderedGroup__0 {...}?;
    public final void rule__GeneratorModel__UnorderedGroup() throws RecognitionException {

            	int stackSize = keepStackSize();
        		getUnorderedGroupHelper().enter(grammarAccess.getGeneratorModelAccess().getUnorderedGroup());
            
        try {
            // ../de.thwildau.tm.moses.abnf.ui/src-gen/de/thwildau/tm/moses/xabnf/ui/contentassist/antlr/internal/InternalXabnf.g:1775:1: ( rule__GeneratorModel__UnorderedGroup__0 {...}?)
            // ../de.thwildau.tm.moses.abnf.ui/src-gen/de/thwildau/tm/moses/xabnf/ui/contentassist/antlr/internal/InternalXabnf.g:1776:2: rule__GeneratorModel__UnorderedGroup__0 {...}?
            {
            pushFollow(FOLLOW_rule__GeneratorModel__UnorderedGroup__0_in_rule__GeneratorModel__UnorderedGroup3474);
            rule__GeneratorModel__UnorderedGroup__0();

            state._fsp--;

            if ( ! getUnorderedGroupHelper().canLeave(grammarAccess.getGeneratorModelAccess().getUnorderedGroup()) ) {
                throw new FailedPredicateException(input, "rule__GeneratorModel__UnorderedGroup", "getUnorderedGroupHelper().canLeave(grammarAccess.getGeneratorModelAccess().getUnorderedGroup())");
            }

            }

        }
        catch (RecognitionException re) {
            reportError(re);
            recover(input,re);
        }
        finally {

            	getUnorderedGroupHelper().leave(grammarAccess.getGeneratorModelAccess().getUnorderedGroup());
            	restoreStackSize(stackSize);

        }
        return ;
    }
    // $ANTLR end "rule__GeneratorModel__UnorderedGroup"


    // $ANTLR start "rule__GeneratorModel__UnorderedGroup__Impl"
    // ../de.thwildau.tm.moses.abnf.ui/src-gen/de/thwildau/tm/moses/xabnf/ui/contentassist/antlr/internal/InternalXabnf.g:1787:1: rule__GeneratorModel__UnorderedGroup__Impl : ( ({...}? => ( ( ( rule__GeneratorModel__Group_0__0 ) ) ) ) | ({...}? => ( ( ( rule__GeneratorModel__Group_1__0 ) ) ) ) | ({...}? => ( ( ( rule__GeneratorModel__Group_2__0 ) ) ) ) | ({...}? => ( ( ( rule__GeneratorModel__Group_3__0 ) ) ) ) | ({...}? => ( ( ( rule__GeneratorModel__Group_4__0 ) ) ) ) | ({...}? => ( ( ( '}' ) ) ) ) ) ;
    public final void rule__GeneratorModel__UnorderedGroup__Impl() throws RecognitionException {

        		int stackSize = keepStackSize();
        		boolean selected = false;
            
        try {
            // ../de.thwildau.tm.moses.abnf.ui/src-gen/de/thwildau/tm/moses/xabnf/ui/contentassist/antlr/internal/InternalXabnf.g:1792:1: ( ( ({...}? => ( ( ( rule__GeneratorModel__Group_0__0 ) ) ) ) | ({...}? => ( ( ( rule__GeneratorModel__Group_1__0 ) ) ) ) | ({...}? => ( ( ( rule__GeneratorModel__Group_2__0 ) ) ) ) | ({...}? => ( ( ( rule__GeneratorModel__Group_3__0 ) ) ) ) | ({...}? => ( ( ( rule__GeneratorModel__Group_4__0 ) ) ) ) | ({...}? => ( ( ( '}' ) ) ) ) ) )
            // ../de.thwildau.tm.moses.abnf.ui/src-gen/de/thwildau/tm/moses/xabnf/ui/contentassist/antlr/internal/InternalXabnf.g:1793:3: ( ({...}? => ( ( ( rule__GeneratorModel__Group_0__0 ) ) ) ) | ({...}? => ( ( ( rule__GeneratorModel__Group_1__0 ) ) ) ) | ({...}? => ( ( ( rule__GeneratorModel__Group_2__0 ) ) ) ) | ({...}? => ( ( ( rule__GeneratorModel__Group_3__0 ) ) ) ) | ({...}? => ( ( ( rule__GeneratorModel__Group_4__0 ) ) ) ) | ({...}? => ( ( ( '}' ) ) ) ) )
            {
            // ../de.thwildau.tm.moses.abnf.ui/src-gen/de/thwildau/tm/moses/xabnf/ui/contentassist/antlr/internal/InternalXabnf.g:1793:3: ( ({...}? => ( ( ( rule__GeneratorModel__Group_0__0 ) ) ) ) | ({...}? => ( ( ( rule__GeneratorModel__Group_1__0 ) ) ) ) | ({...}? => ( ( ( rule__GeneratorModel__Group_2__0 ) ) ) ) | ({...}? => ( ( ( rule__GeneratorModel__Group_3__0 ) ) ) ) | ({...}? => ( ( ( rule__GeneratorModel__Group_4__0 ) ) ) ) | ({...}? => ( ( ( '}' ) ) ) ) )
            int alt9=6;
            int LA9_0 = input.LA(1);

            if ( LA9_0 ==14 && getUnorderedGroupHelper().canSelect(grammarAccess.getGeneratorModelAccess().getUnorderedGroup(), 0) ) {
                alt9=1;
            }
            else if ( LA9_0 ==18 && getUnorderedGroupHelper().canSelect(grammarAccess.getGeneratorModelAccess().getUnorderedGroup(), 1) ) {
                alt9=2;
            }
            else if ( LA9_0 ==19 && getUnorderedGroupHelper().canSelect(grammarAccess.getGeneratorModelAccess().getUnorderedGroup(), 2) ) {
                alt9=3;
            }
            else if ( LA9_0 ==20 && getUnorderedGroupHelper().canSelect(grammarAccess.getGeneratorModelAccess().getUnorderedGroup(), 3) ) {
                alt9=4;
            }
            else if ( LA9_0 ==21 && getUnorderedGroupHelper().canSelect(grammarAccess.getGeneratorModelAccess().getUnorderedGroup(), 4) ) {
                alt9=5;
            }
            else if ( LA9_0 ==23 && getUnorderedGroupHelper().canSelect(grammarAccess.getGeneratorModelAccess().getUnorderedGroup(), 5) ) {
                alt9=6;
            }
            else {
                NoViableAltException nvae =
                    new NoViableAltException("", 9, 0, input);

                throw nvae;
            }
            switch (alt9) {
                case 1 :
                    // ../de.thwildau.tm.moses.abnf.ui/src-gen/de/thwildau/tm/moses/xabnf/ui/contentassist/antlr/internal/InternalXabnf.g:1795:4: ({...}? => ( ( ( rule__GeneratorModel__Group_0__0 ) ) ) )
                    {
                    // ../de.thwildau.tm.moses.abnf.ui/src-gen/de/thwildau/tm/moses/xabnf/ui/contentassist/antlr/internal/InternalXabnf.g:1795:4: ({...}? => ( ( ( rule__GeneratorModel__Group_0__0 ) ) ) )
                    // ../de.thwildau.tm.moses.abnf.ui/src-gen/de/thwildau/tm/moses/xabnf/ui/contentassist/antlr/internal/InternalXabnf.g:1796:5: {...}? => ( ( ( rule__GeneratorModel__Group_0__0 ) ) )
                    {
                    if ( ! getUnorderedGroupHelper().canSelect(grammarAccess.getGeneratorModelAccess().getUnorderedGroup(), 0) ) {
                        throw new FailedPredicateException(input, "rule__GeneratorModel__UnorderedGroup__Impl", "getUnorderedGroupHelper().canSelect(grammarAccess.getGeneratorModelAccess().getUnorderedGroup(), 0)");
                    }
                    // ../de.thwildau.tm.moses.abnf.ui/src-gen/de/thwildau/tm/moses/xabnf/ui/contentassist/antlr/internal/InternalXabnf.g:1796:109: ( ( ( rule__GeneratorModel__Group_0__0 ) ) )
                    // ../de.thwildau.tm.moses.abnf.ui/src-gen/de/thwildau/tm/moses/xabnf/ui/contentassist/antlr/internal/InternalXabnf.g:1797:6: ( ( rule__GeneratorModel__Group_0__0 ) )
                    {
                     
                    	 				  getUnorderedGroupHelper().select(grammarAccess.getGeneratorModelAccess().getUnorderedGroup(), 0);
                    	 				

                    	 				  selected = true;
                    	 				
                    // ../de.thwildau.tm.moses.abnf.ui/src-gen/de/thwildau/tm/moses/xabnf/ui/contentassist/antlr/internal/InternalXabnf.g:1803:6: ( ( rule__GeneratorModel__Group_0__0 ) )
                    // ../de.thwildau.tm.moses.abnf.ui/src-gen/de/thwildau/tm/moses/xabnf/ui/contentassist/antlr/internal/InternalXabnf.g:1805:7: ( rule__GeneratorModel__Group_0__0 )
                    {
                     before(grammarAccess.getGeneratorModelAccess().getGroup_0()); 
                    // ../de.thwildau.tm.moses.abnf.ui/src-gen/de/thwildau/tm/moses/xabnf/ui/contentassist/antlr/internal/InternalXabnf.g:1806:7: ( rule__GeneratorModel__Group_0__0 )
                    // ../de.thwildau.tm.moses.abnf.ui/src-gen/de/thwildau/tm/moses/xabnf/ui/contentassist/antlr/internal/InternalXabnf.g:1806:8: rule__GeneratorModel__Group_0__0
                    {
                    pushFollow(FOLLOW_rule__GeneratorModel__Group_0__0_in_rule__GeneratorModel__UnorderedGroup__Impl3563);
                    rule__GeneratorModel__Group_0__0();

                    state._fsp--;


                    }

                     after(grammarAccess.getGeneratorModelAccess().getGroup_0()); 

                    }


                    }


                    }


                    }
                    break;
                case 2 :
                    // ../de.thwildau.tm.moses.abnf.ui/src-gen/de/thwildau/tm/moses/xabnf/ui/contentassist/antlr/internal/InternalXabnf.g:1812:4: ({...}? => ( ( ( rule__GeneratorModel__Group_1__0 ) ) ) )
                    {
                    // ../de.thwildau.tm.moses.abnf.ui/src-gen/de/thwildau/tm/moses/xabnf/ui/contentassist/antlr/internal/InternalXabnf.g:1812:4: ({...}? => ( ( ( rule__GeneratorModel__Group_1__0 ) ) ) )
                    // ../de.thwildau.tm.moses.abnf.ui/src-gen/de/thwildau/tm/moses/xabnf/ui/contentassist/antlr/internal/InternalXabnf.g:1813:5: {...}? => ( ( ( rule__GeneratorModel__Group_1__0 ) ) )
                    {
                    if ( ! getUnorderedGroupHelper().canSelect(grammarAccess.getGeneratorModelAccess().getUnorderedGroup(), 1) ) {
                        throw new FailedPredicateException(input, "rule__GeneratorModel__UnorderedGroup__Impl", "getUnorderedGroupHelper().canSelect(grammarAccess.getGeneratorModelAccess().getUnorderedGroup(), 1)");
                    }
                    // ../de.thwildau.tm.moses.abnf.ui/src-gen/de/thwildau/tm/moses/xabnf/ui/contentassist/antlr/internal/InternalXabnf.g:1813:109: ( ( ( rule__GeneratorModel__Group_1__0 ) ) )
                    // ../de.thwildau.tm.moses.abnf.ui/src-gen/de/thwildau/tm/moses/xabnf/ui/contentassist/antlr/internal/InternalXabnf.g:1814:6: ( ( rule__GeneratorModel__Group_1__0 ) )
                    {
                     
                    	 				  getUnorderedGroupHelper().select(grammarAccess.getGeneratorModelAccess().getUnorderedGroup(), 1);
                    	 				

                    	 				  selected = true;
                    	 				
                    // ../de.thwildau.tm.moses.abnf.ui/src-gen/de/thwildau/tm/moses/xabnf/ui/contentassist/antlr/internal/InternalXabnf.g:1820:6: ( ( rule__GeneratorModel__Group_1__0 ) )
                    // ../de.thwildau.tm.moses.abnf.ui/src-gen/de/thwildau/tm/moses/xabnf/ui/contentassist/antlr/internal/InternalXabnf.g:1822:7: ( rule__GeneratorModel__Group_1__0 )
                    {
                     before(grammarAccess.getGeneratorModelAccess().getGroup_1()); 
                    // ../de.thwildau.tm.moses.abnf.ui/src-gen/de/thwildau/tm/moses/xabnf/ui/contentassist/antlr/internal/InternalXabnf.g:1823:7: ( rule__GeneratorModel__Group_1__0 )
                    // ../de.thwildau.tm.moses.abnf.ui/src-gen/de/thwildau/tm/moses/xabnf/ui/contentassist/antlr/internal/InternalXabnf.g:1823:8: rule__GeneratorModel__Group_1__0
                    {
                    pushFollow(FOLLOW_rule__GeneratorModel__Group_1__0_in_rule__GeneratorModel__UnorderedGroup__Impl3654);
                    rule__GeneratorModel__Group_1__0();

                    state._fsp--;


                    }

                     after(grammarAccess.getGeneratorModelAccess().getGroup_1()); 

                    }


                    }


                    }


                    }
                    break;
                case 3 :
                    // ../de.thwildau.tm.moses.abnf.ui/src-gen/de/thwildau/tm/moses/xabnf/ui/contentassist/antlr/internal/InternalXabnf.g:1829:4: ({...}? => ( ( ( rule__GeneratorModel__Group_2__0 ) ) ) )
                    {
                    // ../de.thwildau.tm.moses.abnf.ui/src-gen/de/thwildau/tm/moses/xabnf/ui/contentassist/antlr/internal/InternalXabnf.g:1829:4: ({...}? => ( ( ( rule__GeneratorModel__Group_2__0 ) ) ) )
                    // ../de.thwildau.tm.moses.abnf.ui/src-gen/de/thwildau/tm/moses/xabnf/ui/contentassist/antlr/internal/InternalXabnf.g:1830:5: {...}? => ( ( ( rule__GeneratorModel__Group_2__0 ) ) )
                    {
                    if ( ! getUnorderedGroupHelper().canSelect(grammarAccess.getGeneratorModelAccess().getUnorderedGroup(), 2) ) {
                        throw new FailedPredicateException(input, "rule__GeneratorModel__UnorderedGroup__Impl", "getUnorderedGroupHelper().canSelect(grammarAccess.getGeneratorModelAccess().getUnorderedGroup(), 2)");
                    }
                    // ../de.thwildau.tm.moses.abnf.ui/src-gen/de/thwildau/tm/moses/xabnf/ui/contentassist/antlr/internal/InternalXabnf.g:1830:109: ( ( ( rule__GeneratorModel__Group_2__0 ) ) )
                    // ../de.thwildau.tm.moses.abnf.ui/src-gen/de/thwildau/tm/moses/xabnf/ui/contentassist/antlr/internal/InternalXabnf.g:1831:6: ( ( rule__GeneratorModel__Group_2__0 ) )
                    {
                     
                    	 				  getUnorderedGroupHelper().select(grammarAccess.getGeneratorModelAccess().getUnorderedGroup(), 2);
                    	 				

                    	 				  selected = true;
                    	 				
                    // ../de.thwildau.tm.moses.abnf.ui/src-gen/de/thwildau/tm/moses/xabnf/ui/contentassist/antlr/internal/InternalXabnf.g:1837:6: ( ( rule__GeneratorModel__Group_2__0 ) )
                    // ../de.thwildau.tm.moses.abnf.ui/src-gen/de/thwildau/tm/moses/xabnf/ui/contentassist/antlr/internal/InternalXabnf.g:1839:7: ( rule__GeneratorModel__Group_2__0 )
                    {
                     before(grammarAccess.getGeneratorModelAccess().getGroup_2()); 
                    // ../de.thwildau.tm.moses.abnf.ui/src-gen/de/thwildau/tm/moses/xabnf/ui/contentassist/antlr/internal/InternalXabnf.g:1840:7: ( rule__GeneratorModel__Group_2__0 )
                    // ../de.thwildau.tm.moses.abnf.ui/src-gen/de/thwildau/tm/moses/xabnf/ui/contentassist/antlr/internal/InternalXabnf.g:1840:8: rule__GeneratorModel__Group_2__0
                    {
                    pushFollow(FOLLOW_rule__GeneratorModel__Group_2__0_in_rule__GeneratorModel__UnorderedGroup__Impl3745);
                    rule__GeneratorModel__Group_2__0();

                    state._fsp--;


                    }

                     after(grammarAccess.getGeneratorModelAccess().getGroup_2()); 

                    }


                    }


                    }


                    }
                    break;
                case 4 :
                    // ../de.thwildau.tm.moses.abnf.ui/src-gen/de/thwildau/tm/moses/xabnf/ui/contentassist/antlr/internal/InternalXabnf.g:1846:4: ({...}? => ( ( ( rule__GeneratorModel__Group_3__0 ) ) ) )
                    {
                    // ../de.thwildau.tm.moses.abnf.ui/src-gen/de/thwildau/tm/moses/xabnf/ui/contentassist/antlr/internal/InternalXabnf.g:1846:4: ({...}? => ( ( ( rule__GeneratorModel__Group_3__0 ) ) ) )
                    // ../de.thwildau.tm.moses.abnf.ui/src-gen/de/thwildau/tm/moses/xabnf/ui/contentassist/antlr/internal/InternalXabnf.g:1847:5: {...}? => ( ( ( rule__GeneratorModel__Group_3__0 ) ) )
                    {
                    if ( ! getUnorderedGroupHelper().canSelect(grammarAccess.getGeneratorModelAccess().getUnorderedGroup(), 3) ) {
                        throw new FailedPredicateException(input, "rule__GeneratorModel__UnorderedGroup__Impl", "getUnorderedGroupHelper().canSelect(grammarAccess.getGeneratorModelAccess().getUnorderedGroup(), 3)");
                    }
                    // ../de.thwildau.tm.moses.abnf.ui/src-gen/de/thwildau/tm/moses/xabnf/ui/contentassist/antlr/internal/InternalXabnf.g:1847:109: ( ( ( rule__GeneratorModel__Group_3__0 ) ) )
                    // ../de.thwildau.tm.moses.abnf.ui/src-gen/de/thwildau/tm/moses/xabnf/ui/contentassist/antlr/internal/InternalXabnf.g:1848:6: ( ( rule__GeneratorModel__Group_3__0 ) )
                    {
                     
                    	 				  getUnorderedGroupHelper().select(grammarAccess.getGeneratorModelAccess().getUnorderedGroup(), 3);
                    	 				

                    	 				  selected = true;
                    	 				
                    // ../de.thwildau.tm.moses.abnf.ui/src-gen/de/thwildau/tm/moses/xabnf/ui/contentassist/antlr/internal/InternalXabnf.g:1854:6: ( ( rule__GeneratorModel__Group_3__0 ) )
                    // ../de.thwildau.tm.moses.abnf.ui/src-gen/de/thwildau/tm/moses/xabnf/ui/contentassist/antlr/internal/InternalXabnf.g:1856:7: ( rule__GeneratorModel__Group_3__0 )
                    {
                     before(grammarAccess.getGeneratorModelAccess().getGroup_3()); 
                    // ../de.thwildau.tm.moses.abnf.ui/src-gen/de/thwildau/tm/moses/xabnf/ui/contentassist/antlr/internal/InternalXabnf.g:1857:7: ( rule__GeneratorModel__Group_3__0 )
                    // ../de.thwildau.tm.moses.abnf.ui/src-gen/de/thwildau/tm/moses/xabnf/ui/contentassist/antlr/internal/InternalXabnf.g:1857:8: rule__GeneratorModel__Group_3__0
                    {
                    pushFollow(FOLLOW_rule__GeneratorModel__Group_3__0_in_rule__GeneratorModel__UnorderedGroup__Impl3836);
                    rule__GeneratorModel__Group_3__0();

                    state._fsp--;


                    }

                     after(grammarAccess.getGeneratorModelAccess().getGroup_3()); 

                    }


                    }


                    }


                    }
                    break;
                case 5 :
                    // ../de.thwildau.tm.moses.abnf.ui/src-gen/de/thwildau/tm/moses/xabnf/ui/contentassist/antlr/internal/InternalXabnf.g:1863:4: ({...}? => ( ( ( rule__GeneratorModel__Group_4__0 ) ) ) )
                    {
                    // ../de.thwildau.tm.moses.abnf.ui/src-gen/de/thwildau/tm/moses/xabnf/ui/contentassist/antlr/internal/InternalXabnf.g:1863:4: ({...}? => ( ( ( rule__GeneratorModel__Group_4__0 ) ) ) )
                    // ../de.thwildau.tm.moses.abnf.ui/src-gen/de/thwildau/tm/moses/xabnf/ui/contentassist/antlr/internal/InternalXabnf.g:1864:5: {...}? => ( ( ( rule__GeneratorModel__Group_4__0 ) ) )
                    {
                    if ( ! getUnorderedGroupHelper().canSelect(grammarAccess.getGeneratorModelAccess().getUnorderedGroup(), 4) ) {
                        throw new FailedPredicateException(input, "rule__GeneratorModel__UnorderedGroup__Impl", "getUnorderedGroupHelper().canSelect(grammarAccess.getGeneratorModelAccess().getUnorderedGroup(), 4)");
                    }
                    // ../de.thwildau.tm.moses.abnf.ui/src-gen/de/thwildau/tm/moses/xabnf/ui/contentassist/antlr/internal/InternalXabnf.g:1864:109: ( ( ( rule__GeneratorModel__Group_4__0 ) ) )
                    // ../de.thwildau.tm.moses.abnf.ui/src-gen/de/thwildau/tm/moses/xabnf/ui/contentassist/antlr/internal/InternalXabnf.g:1865:6: ( ( rule__GeneratorModel__Group_4__0 ) )
                    {
                     
                    	 				  getUnorderedGroupHelper().select(grammarAccess.getGeneratorModelAccess().getUnorderedGroup(), 4);
                    	 				

                    	 				  selected = true;
                    	 				
                    // ../de.thwildau.tm.moses.abnf.ui/src-gen/de/thwildau/tm/moses/xabnf/ui/contentassist/antlr/internal/InternalXabnf.g:1871:6: ( ( rule__GeneratorModel__Group_4__0 ) )
                    // ../de.thwildau.tm.moses.abnf.ui/src-gen/de/thwildau/tm/moses/xabnf/ui/contentassist/antlr/internal/InternalXabnf.g:1873:7: ( rule__GeneratorModel__Group_4__0 )
                    {
                     before(grammarAccess.getGeneratorModelAccess().getGroup_4()); 
                    // ../de.thwildau.tm.moses.abnf.ui/src-gen/de/thwildau/tm/moses/xabnf/ui/contentassist/antlr/internal/InternalXabnf.g:1874:7: ( rule__GeneratorModel__Group_4__0 )
                    // ../de.thwildau.tm.moses.abnf.ui/src-gen/de/thwildau/tm/moses/xabnf/ui/contentassist/antlr/internal/InternalXabnf.g:1874:8: rule__GeneratorModel__Group_4__0
                    {
                    pushFollow(FOLLOW_rule__GeneratorModel__Group_4__0_in_rule__GeneratorModel__UnorderedGroup__Impl3927);
                    rule__GeneratorModel__Group_4__0();

                    state._fsp--;


                    }

                     after(grammarAccess.getGeneratorModelAccess().getGroup_4()); 

                    }


                    }


                    }


                    }
                    break;
                case 6 :
                    // ../de.thwildau.tm.moses.abnf.ui/src-gen/de/thwildau/tm/moses/xabnf/ui/contentassist/antlr/internal/InternalXabnf.g:1880:4: ({...}? => ( ( ( '}' ) ) ) )
                    {
                    // ../de.thwildau.tm.moses.abnf.ui/src-gen/de/thwildau/tm/moses/xabnf/ui/contentassist/antlr/internal/InternalXabnf.g:1880:4: ({...}? => ( ( ( '}' ) ) ) )
                    // ../de.thwildau.tm.moses.abnf.ui/src-gen/de/thwildau/tm/moses/xabnf/ui/contentassist/antlr/internal/InternalXabnf.g:1881:5: {...}? => ( ( ( '}' ) ) )
                    {
                    if ( ! getUnorderedGroupHelper().canSelect(grammarAccess.getGeneratorModelAccess().getUnorderedGroup(), 5) ) {
                        throw new FailedPredicateException(input, "rule__GeneratorModel__UnorderedGroup__Impl", "getUnorderedGroupHelper().canSelect(grammarAccess.getGeneratorModelAccess().getUnorderedGroup(), 5)");
                    }
                    // ../de.thwildau.tm.moses.abnf.ui/src-gen/de/thwildau/tm/moses/xabnf/ui/contentassist/antlr/internal/InternalXabnf.g:1881:109: ( ( ( '}' ) ) )
                    // ../de.thwildau.tm.moses.abnf.ui/src-gen/de/thwildau/tm/moses/xabnf/ui/contentassist/antlr/internal/InternalXabnf.g:1882:6: ( ( '}' ) )
                    {
                     
                    	 				  getUnorderedGroupHelper().select(grammarAccess.getGeneratorModelAccess().getUnorderedGroup(), 5);
                    	 				

                    	 				  selected = true;
                    	 				
                    // ../de.thwildau.tm.moses.abnf.ui/src-gen/de/thwildau/tm/moses/xabnf/ui/contentassist/antlr/internal/InternalXabnf.g:1888:6: ( ( '}' ) )
                    // ../de.thwildau.tm.moses.abnf.ui/src-gen/de/thwildau/tm/moses/xabnf/ui/contentassist/antlr/internal/InternalXabnf.g:1890:7: ( '}' )
                    {
                     before(grammarAccess.getGeneratorModelAccess().getRightCurlyBracketKeyword_5()); 
                    // ../de.thwildau.tm.moses.abnf.ui/src-gen/de/thwildau/tm/moses/xabnf/ui/contentassist/antlr/internal/InternalXabnf.g:1891:7: ( '}' )
                    // ../de.thwildau.tm.moses.abnf.ui/src-gen/de/thwildau/tm/moses/xabnf/ui/contentassist/antlr/internal/InternalXabnf.g:1892:2: '}'
                    {
                    match(input,23,FOLLOW_23_in_rule__GeneratorModel__UnorderedGroup__Impl4020); 

                    }

                     after(grammarAccess.getGeneratorModelAccess().getRightCurlyBracketKeyword_5()); 

                    }


                    }


                    }


                    }
                    break;

            }


            }

        }
        catch (RecognitionException re) {
            reportError(re);
            recover(input,re);
        }
        finally {

            	if (selected)
            		getUnorderedGroupHelper().returnFromSelection(grammarAccess.getGeneratorModelAccess().getUnorderedGroup());
            	restoreStackSize(stackSize);

        }
        return ;
    }
    // $ANTLR end "rule__GeneratorModel__UnorderedGroup__Impl"


    // $ANTLR start "rule__GeneratorModel__UnorderedGroup__0"
    // ../de.thwildau.tm.moses.abnf.ui/src-gen/de/thwildau/tm/moses/xabnf/ui/contentassist/antlr/internal/InternalXabnf.g:1908:1: rule__GeneratorModel__UnorderedGroup__0 : rule__GeneratorModel__UnorderedGroup__Impl ( rule__GeneratorModel__UnorderedGroup__1 )? ;
    public final void rule__GeneratorModel__UnorderedGroup__0() throws RecognitionException {

        		int stackSize = keepStackSize();
            
        try {
            // ../de.thwildau.tm.moses.abnf.ui/src-gen/de/thwildau/tm/moses/xabnf/ui/contentassist/antlr/internal/InternalXabnf.g:1912:1: ( rule__GeneratorModel__UnorderedGroup__Impl ( rule__GeneratorModel__UnorderedGroup__1 )? )
            // ../de.thwildau.tm.moses.abnf.ui/src-gen/de/thwildau/tm/moses/xabnf/ui/contentassist/antlr/internal/InternalXabnf.g:1913:2: rule__GeneratorModel__UnorderedGroup__Impl ( rule__GeneratorModel__UnorderedGroup__1 )?
            {
            pushFollow(FOLLOW_rule__GeneratorModel__UnorderedGroup__Impl_in_rule__GeneratorModel__UnorderedGroup__04081);
            rule__GeneratorModel__UnorderedGroup__Impl();

            state._fsp--;

            // ../de.thwildau.tm.moses.abnf.ui/src-gen/de/thwildau/tm/moses/xabnf/ui/contentassist/antlr/internal/InternalXabnf.g:1914:2: ( rule__GeneratorModel__UnorderedGroup__1 )?
            int alt10=2;
            int LA10_0 = input.LA(1);

            if ( LA10_0 ==14 && getUnorderedGroupHelper().canSelect(grammarAccess.getGeneratorModelAccess().getUnorderedGroup(), 0) ) {
                alt10=1;
            }
            else if ( LA10_0 ==18 && getUnorderedGroupHelper().canSelect(grammarAccess.getGeneratorModelAccess().getUnorderedGroup(), 1) ) {
                alt10=1;
            }
            else if ( LA10_0 ==19 && getUnorderedGroupHelper().canSelect(grammarAccess.getGeneratorModelAccess().getUnorderedGroup(), 2) ) {
                alt10=1;
            }
            else if ( LA10_0 ==20 && getUnorderedGroupHelper().canSelect(grammarAccess.getGeneratorModelAccess().getUnorderedGroup(), 3) ) {
                alt10=1;
            }
            else if ( LA10_0 ==21 && getUnorderedGroupHelper().canSelect(grammarAccess.getGeneratorModelAccess().getUnorderedGroup(), 4) ) {
                alt10=1;
            }
            else if ( LA10_0 ==23 && getUnorderedGroupHelper().canSelect(grammarAccess.getGeneratorModelAccess().getUnorderedGroup(), 5) ) {
                alt10=1;
            }
            switch (alt10) {
                case 1 :
                    // ../de.thwildau.tm.moses.abnf.ui/src-gen/de/thwildau/tm/moses/xabnf/ui/contentassist/antlr/internal/InternalXabnf.g:1914:2: rule__GeneratorModel__UnorderedGroup__1
                    {
                    pushFollow(FOLLOW_rule__GeneratorModel__UnorderedGroup__1_in_rule__GeneratorModel__UnorderedGroup__04084);
                    rule__GeneratorModel__UnorderedGroup__1();

                    state._fsp--;


                    }
                    break;

            }


            }

        }
        catch (RecognitionException re) {
            reportError(re);
            recover(input,re);
        }
        finally {

            	restoreStackSize(stackSize);

        }
        return ;
    }
    // $ANTLR end "rule__GeneratorModel__UnorderedGroup__0"


    // $ANTLR start "rule__GeneratorModel__UnorderedGroup__1"
    // ../de.thwildau.tm.moses.abnf.ui/src-gen/de/thwildau/tm/moses/xabnf/ui/contentassist/antlr/internal/InternalXabnf.g:1921:1: rule__GeneratorModel__UnorderedGroup__1 : rule__GeneratorModel__UnorderedGroup__Impl ( rule__GeneratorModel__UnorderedGroup__2 )? ;
    public final void rule__GeneratorModel__UnorderedGroup__1() throws RecognitionException {

        		int stackSize = keepStackSize();
            
        try {
            // ../de.thwildau.tm.moses.abnf.ui/src-gen/de/thwildau/tm/moses/xabnf/ui/contentassist/antlr/internal/InternalXabnf.g:1925:1: ( rule__GeneratorModel__UnorderedGroup__Impl ( rule__GeneratorModel__UnorderedGroup__2 )? )
            // ../de.thwildau.tm.moses.abnf.ui/src-gen/de/thwildau/tm/moses/xabnf/ui/contentassist/antlr/internal/InternalXabnf.g:1926:2: rule__GeneratorModel__UnorderedGroup__Impl ( rule__GeneratorModel__UnorderedGroup__2 )?
            {
            pushFollow(FOLLOW_rule__GeneratorModel__UnorderedGroup__Impl_in_rule__GeneratorModel__UnorderedGroup__14109);
            rule__GeneratorModel__UnorderedGroup__Impl();

            state._fsp--;

            // ../de.thwildau.tm.moses.abnf.ui/src-gen/de/thwildau/tm/moses/xabnf/ui/contentassist/antlr/internal/InternalXabnf.g:1927:2: ( rule__GeneratorModel__UnorderedGroup__2 )?
            int alt11=2;
            int LA11_0 = input.LA(1);

            if ( LA11_0 ==14 && getUnorderedGroupHelper().canSelect(grammarAccess.getGeneratorModelAccess().getUnorderedGroup(), 0) ) {
                alt11=1;
            }
            else if ( LA11_0 ==18 && getUnorderedGroupHelper().canSelect(grammarAccess.getGeneratorModelAccess().getUnorderedGroup(), 1) ) {
                alt11=1;
            }
            else if ( LA11_0 ==19 && getUnorderedGroupHelper().canSelect(grammarAccess.getGeneratorModelAccess().getUnorderedGroup(), 2) ) {
                alt11=1;
            }
            else if ( LA11_0 ==20 && getUnorderedGroupHelper().canSelect(grammarAccess.getGeneratorModelAccess().getUnorderedGroup(), 3) ) {
                alt11=1;
            }
            else if ( LA11_0 ==21 && getUnorderedGroupHelper().canSelect(grammarAccess.getGeneratorModelAccess().getUnorderedGroup(), 4) ) {
                alt11=1;
            }
            else if ( LA11_0 ==23 && getUnorderedGroupHelper().canSelect(grammarAccess.getGeneratorModelAccess().getUnorderedGroup(), 5) ) {
                alt11=1;
            }
            switch (alt11) {
                case 1 :
                    // ../de.thwildau.tm.moses.abnf.ui/src-gen/de/thwildau/tm/moses/xabnf/ui/contentassist/antlr/internal/InternalXabnf.g:1927:2: rule__GeneratorModel__UnorderedGroup__2
                    {
                    pushFollow(FOLLOW_rule__GeneratorModel__UnorderedGroup__2_in_rule__GeneratorModel__UnorderedGroup__14112);
                    rule__GeneratorModel__UnorderedGroup__2();

                    state._fsp--;


                    }
                    break;

            }


            }

        }
        catch (RecognitionException re) {
            reportError(re);
            recover(input,re);
        }
        finally {

            	restoreStackSize(stackSize);

        }
        return ;
    }
    // $ANTLR end "rule__GeneratorModel__UnorderedGroup__1"


    // $ANTLR start "rule__GeneratorModel__UnorderedGroup__2"
    // ../de.thwildau.tm.moses.abnf.ui/src-gen/de/thwildau/tm/moses/xabnf/ui/contentassist/antlr/internal/InternalXabnf.g:1934:1: rule__GeneratorModel__UnorderedGroup__2 : rule__GeneratorModel__UnorderedGroup__Impl ( rule__GeneratorModel__UnorderedGroup__3 )? ;
    public final void rule__GeneratorModel__UnorderedGroup__2() throws RecognitionException {

        		int stackSize = keepStackSize();
            
        try {
            // ../de.thwildau.tm.moses.abnf.ui/src-gen/de/thwildau/tm/moses/xabnf/ui/contentassist/antlr/internal/InternalXabnf.g:1938:1: ( rule__GeneratorModel__UnorderedGroup__Impl ( rule__GeneratorModel__UnorderedGroup__3 )? )
            // ../de.thwildau.tm.moses.abnf.ui/src-gen/de/thwildau/tm/moses/xabnf/ui/contentassist/antlr/internal/InternalXabnf.g:1939:2: rule__GeneratorModel__UnorderedGroup__Impl ( rule__GeneratorModel__UnorderedGroup__3 )?
            {
            pushFollow(FOLLOW_rule__GeneratorModel__UnorderedGroup__Impl_in_rule__GeneratorModel__UnorderedGroup__24137);
            rule__GeneratorModel__UnorderedGroup__Impl();

            state._fsp--;

            // ../de.thwildau.tm.moses.abnf.ui/src-gen/de/thwildau/tm/moses/xabnf/ui/contentassist/antlr/internal/InternalXabnf.g:1940:2: ( rule__GeneratorModel__UnorderedGroup__3 )?
            int alt12=2;
            int LA12_0 = input.LA(1);

            if ( LA12_0 ==14 && getUnorderedGroupHelper().canSelect(grammarAccess.getGeneratorModelAccess().getUnorderedGroup(), 0) ) {
                alt12=1;
            }
            else if ( LA12_0 ==18 && getUnorderedGroupHelper().canSelect(grammarAccess.getGeneratorModelAccess().getUnorderedGroup(), 1) ) {
                alt12=1;
            }
            else if ( LA12_0 ==19 && getUnorderedGroupHelper().canSelect(grammarAccess.getGeneratorModelAccess().getUnorderedGroup(), 2) ) {
                alt12=1;
            }
            else if ( LA12_0 ==20 && getUnorderedGroupHelper().canSelect(grammarAccess.getGeneratorModelAccess().getUnorderedGroup(), 3) ) {
                alt12=1;
            }
            else if ( LA12_0 ==21 && getUnorderedGroupHelper().canSelect(grammarAccess.getGeneratorModelAccess().getUnorderedGroup(), 4) ) {
                alt12=1;
            }
            else if ( LA12_0 ==23 && getUnorderedGroupHelper().canSelect(grammarAccess.getGeneratorModelAccess().getUnorderedGroup(), 5) ) {
                alt12=1;
            }
            switch (alt12) {
                case 1 :
                    // ../de.thwildau.tm.moses.abnf.ui/src-gen/de/thwildau/tm/moses/xabnf/ui/contentassist/antlr/internal/InternalXabnf.g:1940:2: rule__GeneratorModel__UnorderedGroup__3
                    {
                    pushFollow(FOLLOW_rule__GeneratorModel__UnorderedGroup__3_in_rule__GeneratorModel__UnorderedGroup__24140);
                    rule__GeneratorModel__UnorderedGroup__3();

                    state._fsp--;


                    }
                    break;

            }


            }

        }
        catch (RecognitionException re) {
            reportError(re);
            recover(input,re);
        }
        finally {

            	restoreStackSize(stackSize);

        }
        return ;
    }
    // $ANTLR end "rule__GeneratorModel__UnorderedGroup__2"


    // $ANTLR start "rule__GeneratorModel__UnorderedGroup__3"
    // ../de.thwildau.tm.moses.abnf.ui/src-gen/de/thwildau/tm/moses/xabnf/ui/contentassist/antlr/internal/InternalXabnf.g:1947:1: rule__GeneratorModel__UnorderedGroup__3 : rule__GeneratorModel__UnorderedGroup__Impl ( rule__GeneratorModel__UnorderedGroup__4 )? ;
    public final void rule__GeneratorModel__UnorderedGroup__3() throws RecognitionException {

        		int stackSize = keepStackSize();
            
        try {
            // ../de.thwildau.tm.moses.abnf.ui/src-gen/de/thwildau/tm/moses/xabnf/ui/contentassist/antlr/internal/InternalXabnf.g:1951:1: ( rule__GeneratorModel__UnorderedGroup__Impl ( rule__GeneratorModel__UnorderedGroup__4 )? )
            // ../de.thwildau.tm.moses.abnf.ui/src-gen/de/thwildau/tm/moses/xabnf/ui/contentassist/antlr/internal/InternalXabnf.g:1952:2: rule__GeneratorModel__UnorderedGroup__Impl ( rule__GeneratorModel__UnorderedGroup__4 )?
            {
            pushFollow(FOLLOW_rule__GeneratorModel__UnorderedGroup__Impl_in_rule__GeneratorModel__UnorderedGroup__34165);
            rule__GeneratorModel__UnorderedGroup__Impl();

            state._fsp--;

            // ../de.thwildau.tm.moses.abnf.ui/src-gen/de/thwildau/tm/moses/xabnf/ui/contentassist/antlr/internal/InternalXabnf.g:1953:2: ( rule__GeneratorModel__UnorderedGroup__4 )?
            int alt13=2;
            int LA13_0 = input.LA(1);

            if ( LA13_0 ==14 && getUnorderedGroupHelper().canSelect(grammarAccess.getGeneratorModelAccess().getUnorderedGroup(), 0) ) {
                alt13=1;
            }
            else if ( LA13_0 ==18 && getUnorderedGroupHelper().canSelect(grammarAccess.getGeneratorModelAccess().getUnorderedGroup(), 1) ) {
                alt13=1;
            }
            else if ( LA13_0 ==19 && getUnorderedGroupHelper().canSelect(grammarAccess.getGeneratorModelAccess().getUnorderedGroup(), 2) ) {
                alt13=1;
            }
            else if ( LA13_0 ==20 && getUnorderedGroupHelper().canSelect(grammarAccess.getGeneratorModelAccess().getUnorderedGroup(), 3) ) {
                alt13=1;
            }
            else if ( LA13_0 ==21 && getUnorderedGroupHelper().canSelect(grammarAccess.getGeneratorModelAccess().getUnorderedGroup(), 4) ) {
                alt13=1;
            }
            else if ( LA13_0 ==23 && getUnorderedGroupHelper().canSelect(grammarAccess.getGeneratorModelAccess().getUnorderedGroup(), 5) ) {
                alt13=1;
            }
            switch (alt13) {
                case 1 :
                    // ../de.thwildau.tm.moses.abnf.ui/src-gen/de/thwildau/tm/moses/xabnf/ui/contentassist/antlr/internal/InternalXabnf.g:1953:2: rule__GeneratorModel__UnorderedGroup__4
                    {
                    pushFollow(FOLLOW_rule__GeneratorModel__UnorderedGroup__4_in_rule__GeneratorModel__UnorderedGroup__34168);
                    rule__GeneratorModel__UnorderedGroup__4();

                    state._fsp--;


                    }
                    break;

            }


            }

        }
        catch (RecognitionException re) {
            reportError(re);
            recover(input,re);
        }
        finally {

            	restoreStackSize(stackSize);

        }
        return ;
    }
    // $ANTLR end "rule__GeneratorModel__UnorderedGroup__3"


    // $ANTLR start "rule__GeneratorModel__UnorderedGroup__4"
    // ../de.thwildau.tm.moses.abnf.ui/src-gen/de/thwildau/tm/moses/xabnf/ui/contentassist/antlr/internal/InternalXabnf.g:1960:1: rule__GeneratorModel__UnorderedGroup__4 : rule__GeneratorModel__UnorderedGroup__Impl ( rule__GeneratorModel__UnorderedGroup__5 )? ;
    public final void rule__GeneratorModel__UnorderedGroup__4() throws RecognitionException {

        		int stackSize = keepStackSize();
            
        try {
            // ../de.thwildau.tm.moses.abnf.ui/src-gen/de/thwildau/tm/moses/xabnf/ui/contentassist/antlr/internal/InternalXabnf.g:1964:1: ( rule__GeneratorModel__UnorderedGroup__Impl ( rule__GeneratorModel__UnorderedGroup__5 )? )
            // ../de.thwildau.tm.moses.abnf.ui/src-gen/de/thwildau/tm/moses/xabnf/ui/contentassist/antlr/internal/InternalXabnf.g:1965:2: rule__GeneratorModel__UnorderedGroup__Impl ( rule__GeneratorModel__UnorderedGroup__5 )?
            {
            pushFollow(FOLLOW_rule__GeneratorModel__UnorderedGroup__Impl_in_rule__GeneratorModel__UnorderedGroup__44193);
            rule__GeneratorModel__UnorderedGroup__Impl();

            state._fsp--;

            // ../de.thwildau.tm.moses.abnf.ui/src-gen/de/thwildau/tm/moses/xabnf/ui/contentassist/antlr/internal/InternalXabnf.g:1966:2: ( rule__GeneratorModel__UnorderedGroup__5 )?
            int alt14=2;
            int LA14_0 = input.LA(1);

            if ( LA14_0 ==14 && getUnorderedGroupHelper().canSelect(grammarAccess.getGeneratorModelAccess().getUnorderedGroup(), 0) ) {
                alt14=1;
            }
            else if ( LA14_0 ==18 && getUnorderedGroupHelper().canSelect(grammarAccess.getGeneratorModelAccess().getUnorderedGroup(), 1) ) {
                alt14=1;
            }
            else if ( LA14_0 ==19 && getUnorderedGroupHelper().canSelect(grammarAccess.getGeneratorModelAccess().getUnorderedGroup(), 2) ) {
                alt14=1;
            }
            else if ( LA14_0 ==20 && getUnorderedGroupHelper().canSelect(grammarAccess.getGeneratorModelAccess().getUnorderedGroup(), 3) ) {
                alt14=1;
            }
            else if ( LA14_0 ==21 && getUnorderedGroupHelper().canSelect(grammarAccess.getGeneratorModelAccess().getUnorderedGroup(), 4) ) {
                alt14=1;
            }
            else if ( LA14_0 ==23 && getUnorderedGroupHelper().canSelect(grammarAccess.getGeneratorModelAccess().getUnorderedGroup(), 5) ) {
                alt14=1;
            }
            switch (alt14) {
                case 1 :
                    // ../de.thwildau.tm.moses.abnf.ui/src-gen/de/thwildau/tm/moses/xabnf/ui/contentassist/antlr/internal/InternalXabnf.g:1966:2: rule__GeneratorModel__UnorderedGroup__5
                    {
                    pushFollow(FOLLOW_rule__GeneratorModel__UnorderedGroup__5_in_rule__GeneratorModel__UnorderedGroup__44196);
                    rule__GeneratorModel__UnorderedGroup__5();

                    state._fsp--;


                    }
                    break;

            }


            }

        }
        catch (RecognitionException re) {
            reportError(re);
            recover(input,re);
        }
        finally {

            	restoreStackSize(stackSize);

        }
        return ;
    }
    // $ANTLR end "rule__GeneratorModel__UnorderedGroup__4"


    // $ANTLR start "rule__GeneratorModel__UnorderedGroup__5"
    // ../de.thwildau.tm.moses.abnf.ui/src-gen/de/thwildau/tm/moses/xabnf/ui/contentassist/antlr/internal/InternalXabnf.g:1973:1: rule__GeneratorModel__UnorderedGroup__5 : rule__GeneratorModel__UnorderedGroup__Impl ;
    public final void rule__GeneratorModel__UnorderedGroup__5() throws RecognitionException {

        		int stackSize = keepStackSize();
            
        try {
            // ../de.thwildau.tm.moses.abnf.ui/src-gen/de/thwildau/tm/moses/xabnf/ui/contentassist/antlr/internal/InternalXabnf.g:1977:1: ( rule__GeneratorModel__UnorderedGroup__Impl )
            // ../de.thwildau.tm.moses.abnf.ui/src-gen/de/thwildau/tm/moses/xabnf/ui/contentassist/antlr/internal/InternalXabnf.g:1978:2: rule__GeneratorModel__UnorderedGroup__Impl
            {
            pushFollow(FOLLOW_rule__GeneratorModel__UnorderedGroup__Impl_in_rule__GeneratorModel__UnorderedGroup__54221);
            rule__GeneratorModel__UnorderedGroup__Impl();

            state._fsp--;


            }

        }
        catch (RecognitionException re) {
            reportError(re);
            recover(input,re);
        }
        finally {

            	restoreStackSize(stackSize);

        }
        return ;
    }
    // $ANTLR end "rule__GeneratorModel__UnorderedGroup__5"


    // $ANTLR start "rule__Xabnf__GeneratorModelAssignment_0"
    // ../de.thwildau.tm.moses.abnf.ui/src-gen/de/thwildau/tm/moses/xabnf/ui/contentassist/antlr/internal/InternalXabnf.g:1997:1: rule__Xabnf__GeneratorModelAssignment_0 : ( ruleGeneratorModel ) ;
    public final void rule__Xabnf__GeneratorModelAssignment_0() throws RecognitionException {

        		int stackSize = keepStackSize();
            
        try {
            // ../de.thwildau.tm.moses.abnf.ui/src-gen/de/thwildau/tm/moses/xabnf/ui/contentassist/antlr/internal/InternalXabnf.g:2001:1: ( ( ruleGeneratorModel ) )
            // ../de.thwildau.tm.moses.abnf.ui/src-gen/de/thwildau/tm/moses/xabnf/ui/contentassist/antlr/internal/InternalXabnf.g:2002:1: ( ruleGeneratorModel )
            {
            // ../de.thwildau.tm.moses.abnf.ui/src-gen/de/thwildau/tm/moses/xabnf/ui/contentassist/antlr/internal/InternalXabnf.g:2002:1: ( ruleGeneratorModel )
            // ../de.thwildau.tm.moses.abnf.ui/src-gen/de/thwildau/tm/moses/xabnf/ui/contentassist/antlr/internal/InternalXabnf.g:2003:1: ruleGeneratorModel
            {
             before(grammarAccess.getXabnfAccess().getGeneratorModelGeneratorModelParserRuleCall_0_0()); 
            pushFollow(FOLLOW_ruleGeneratorModel_in_rule__Xabnf__GeneratorModelAssignment_04261);
            ruleGeneratorModel();

            state._fsp--;

             after(grammarAccess.getXabnfAccess().getGeneratorModelGeneratorModelParserRuleCall_0_0()); 

            }


            }

        }
        catch (RecognitionException re) {
            reportError(re);
            recover(input,re);
        }
        finally {

            	restoreStackSize(stackSize);

        }
        return ;
    }
    // $ANTLR end "rule__Xabnf__GeneratorModelAssignment_0"


    // $ANTLR start "rule__Xabnf__BindingsAssignment_1"
    // ../de.thwildau.tm.moses.abnf.ui/src-gen/de/thwildau/tm/moses/xabnf/ui/contentassist/antlr/internal/InternalXabnf.g:2012:1: rule__Xabnf__BindingsAssignment_1 : ( ruleBindings ) ;
    public final void rule__Xabnf__BindingsAssignment_1() throws RecognitionException {

        		int stackSize = keepStackSize();
            
        try {
            // ../de.thwildau.tm.moses.abnf.ui/src-gen/de/thwildau/tm/moses/xabnf/ui/contentassist/antlr/internal/InternalXabnf.g:2016:1: ( ( ruleBindings ) )
            // ../de.thwildau.tm.moses.abnf.ui/src-gen/de/thwildau/tm/moses/xabnf/ui/contentassist/antlr/internal/InternalXabnf.g:2017:1: ( ruleBindings )
            {
            // ../de.thwildau.tm.moses.abnf.ui/src-gen/de/thwildau/tm/moses/xabnf/ui/contentassist/antlr/internal/InternalXabnf.g:2017:1: ( ruleBindings )
            // ../de.thwildau.tm.moses.abnf.ui/src-gen/de/thwildau/tm/moses/xabnf/ui/contentassist/antlr/internal/InternalXabnf.g:2018:1: ruleBindings
            {
             before(grammarAccess.getXabnfAccess().getBindingsBindingsParserRuleCall_1_0()); 
            pushFollow(FOLLOW_ruleBindings_in_rule__Xabnf__BindingsAssignment_14292);
            ruleBindings();

            state._fsp--;

             after(grammarAccess.getXabnfAccess().getBindingsBindingsParserRuleCall_1_0()); 

            }


            }

        }
        catch (RecognitionException re) {
            reportError(re);
            recover(input,re);
        }
        finally {

            	restoreStackSize(stackSize);

        }
        return ;
    }
    // $ANTLR end "rule__Xabnf__BindingsAssignment_1"


    // $ANTLR start "rule__GeneratorModel__FileAssignment_0_4"
    // ../de.thwildau.tm.moses.abnf.ui/src-gen/de/thwildau/tm/moses/xabnf/ui/contentassist/antlr/internal/InternalXabnf.g:2027:1: rule__GeneratorModel__FileAssignment_0_4 : ( RULE_STRING ) ;
    public final void rule__GeneratorModel__FileAssignment_0_4() throws RecognitionException {

        		int stackSize = keepStackSize();
            
        try {
            // ../de.thwildau.tm.moses.abnf.ui/src-gen/de/thwildau/tm/moses/xabnf/ui/contentassist/antlr/internal/InternalXabnf.g:2031:1: ( ( RULE_STRING ) )
            // ../de.thwildau.tm.moses.abnf.ui/src-gen/de/thwildau/tm/moses/xabnf/ui/contentassist/antlr/internal/InternalXabnf.g:2032:1: ( RULE_STRING )
            {
            // ../de.thwildau.tm.moses.abnf.ui/src-gen/de/thwildau/tm/moses/xabnf/ui/contentassist/antlr/internal/InternalXabnf.g:2032:1: ( RULE_STRING )
            // ../de.thwildau.tm.moses.abnf.ui/src-gen/de/thwildau/tm/moses/xabnf/ui/contentassist/antlr/internal/InternalXabnf.g:2033:1: RULE_STRING
            {
             before(grammarAccess.getGeneratorModelAccess().getFileSTRINGTerminalRuleCall_0_4_0()); 
            match(input,RULE_STRING,FOLLOW_RULE_STRING_in_rule__GeneratorModel__FileAssignment_0_44323); 
             after(grammarAccess.getGeneratorModelAccess().getFileSTRINGTerminalRuleCall_0_4_0()); 

            }


            }

        }
        catch (RecognitionException re) {
            reportError(re);
            recover(input,re);
        }
        finally {

            	restoreStackSize(stackSize);

        }
        return ;
    }
    // $ANTLR end "rule__GeneratorModel__FileAssignment_0_4"


    // $ANTLR start "rule__GeneratorModel__LanguageAssignment_1_2"
    // ../de.thwildau.tm.moses.abnf.ui/src-gen/de/thwildau/tm/moses/xabnf/ui/contentassist/antlr/internal/InternalXabnf.g:2042:1: rule__GeneratorModel__LanguageAssignment_1_2 : ( ruleLanguage ) ;
    public final void rule__GeneratorModel__LanguageAssignment_1_2() throws RecognitionException {

        		int stackSize = keepStackSize();
            
        try {
            // ../de.thwildau.tm.moses.abnf.ui/src-gen/de/thwildau/tm/moses/xabnf/ui/contentassist/antlr/internal/InternalXabnf.g:2046:1: ( ( ruleLanguage ) )
            // ../de.thwildau.tm.moses.abnf.ui/src-gen/de/thwildau/tm/moses/xabnf/ui/contentassist/antlr/internal/InternalXabnf.g:2047:1: ( ruleLanguage )
            {
            // ../de.thwildau.tm.moses.abnf.ui/src-gen/de/thwildau/tm/moses/xabnf/ui/contentassist/antlr/internal/InternalXabnf.g:2047:1: ( ruleLanguage )
            // ../de.thwildau.tm.moses.abnf.ui/src-gen/de/thwildau/tm/moses/xabnf/ui/contentassist/antlr/internal/InternalXabnf.g:2048:1: ruleLanguage
            {
             before(grammarAccess.getGeneratorModelAccess().getLanguageLanguageEnumRuleCall_1_2_0()); 
            pushFollow(FOLLOW_ruleLanguage_in_rule__GeneratorModel__LanguageAssignment_1_24354);
            ruleLanguage();

            state._fsp--;

             after(grammarAccess.getGeneratorModelAccess().getLanguageLanguageEnumRuleCall_1_2_0()); 

            }


            }

        }
        catch (RecognitionException re) {
            reportError(re);
            recover(input,re);
        }
        finally {

            	restoreStackSize(stackSize);

        }
        return ;
    }
    // $ANTLR end "rule__GeneratorModel__LanguageAssignment_1_2"


    // $ANTLR start "rule__GeneratorModel__PackageAssignment_2_2"
    // ../de.thwildau.tm.moses.abnf.ui/src-gen/de/thwildau/tm/moses/xabnf/ui/contentassist/antlr/internal/InternalXabnf.g:2057:1: rule__GeneratorModel__PackageAssignment_2_2 : ( RULE_STRING ) ;
    public final void rule__GeneratorModel__PackageAssignment_2_2() throws RecognitionException {

        		int stackSize = keepStackSize();
            
        try {
            // ../de.thwildau.tm.moses.abnf.ui/src-gen/de/thwildau/tm/moses/xabnf/ui/contentassist/antlr/internal/InternalXabnf.g:2061:1: ( ( RULE_STRING ) )
            // ../de.thwildau.tm.moses.abnf.ui/src-gen/de/thwildau/tm/moses/xabnf/ui/contentassist/antlr/internal/InternalXabnf.g:2062:1: ( RULE_STRING )
            {
            // ../de.thwildau.tm.moses.abnf.ui/src-gen/de/thwildau/tm/moses/xabnf/ui/contentassist/antlr/internal/InternalXabnf.g:2062:1: ( RULE_STRING )
            // ../de.thwildau.tm.moses.abnf.ui/src-gen/de/thwildau/tm/moses/xabnf/ui/contentassist/antlr/internal/InternalXabnf.g:2063:1: RULE_STRING
            {
             before(grammarAccess.getGeneratorModelAccess().getPackageSTRINGTerminalRuleCall_2_2_0()); 
            match(input,RULE_STRING,FOLLOW_RULE_STRING_in_rule__GeneratorModel__PackageAssignment_2_24385); 
             after(grammarAccess.getGeneratorModelAccess().getPackageSTRINGTerminalRuleCall_2_2_0()); 

            }


            }

        }
        catch (RecognitionException re) {
            reportError(re);
            recover(input,re);
        }
        finally {

            	restoreStackSize(stackSize);

        }
        return ;
    }
    // $ANTLR end "rule__GeneratorModel__PackageAssignment_2_2"


    // $ANTLR start "rule__GeneratorModel__EntryRuleAssignment_3_2"
    // ../de.thwildau.tm.moses.abnf.ui/src-gen/de/thwildau/tm/moses/xabnf/ui/contentassist/antlr/internal/InternalXabnf.g:2072:1: rule__GeneratorModel__EntryRuleAssignment_3_2 : ( ( RULE_ID ) ) ;
    public final void rule__GeneratorModel__EntryRuleAssignment_3_2() throws RecognitionException {

        		int stackSize = keepStackSize();
            
        try {
            // ../de.thwildau.tm.moses.abnf.ui/src-gen/de/thwildau/tm/moses/xabnf/ui/contentassist/antlr/internal/InternalXabnf.g:2076:1: ( ( ( RULE_ID ) ) )
            // ../de.thwildau.tm.moses.abnf.ui/src-gen/de/thwildau/tm/moses/xabnf/ui/contentassist/antlr/internal/InternalXabnf.g:2077:1: ( ( RULE_ID ) )
            {
            // ../de.thwildau.tm.moses.abnf.ui/src-gen/de/thwildau/tm/moses/xabnf/ui/contentassist/antlr/internal/InternalXabnf.g:2077:1: ( ( RULE_ID ) )
            // ../de.thwildau.tm.moses.abnf.ui/src-gen/de/thwildau/tm/moses/xabnf/ui/contentassist/antlr/internal/InternalXabnf.g:2078:1: ( RULE_ID )
            {
             before(grammarAccess.getGeneratorModelAccess().getEntryRuleRuleCrossReference_3_2_0()); 
            // ../de.thwildau.tm.moses.abnf.ui/src-gen/de/thwildau/tm/moses/xabnf/ui/contentassist/antlr/internal/InternalXabnf.g:2079:1: ( RULE_ID )
            // ../de.thwildau.tm.moses.abnf.ui/src-gen/de/thwildau/tm/moses/xabnf/ui/contentassist/antlr/internal/InternalXabnf.g:2080:1: RULE_ID
            {
             before(grammarAccess.getGeneratorModelAccess().getEntryRuleRuleIDTerminalRuleCall_3_2_0_1()); 
            match(input,RULE_ID,FOLLOW_RULE_ID_in_rule__GeneratorModel__EntryRuleAssignment_3_24420); 
             after(grammarAccess.getGeneratorModelAccess().getEntryRuleRuleIDTerminalRuleCall_3_2_0_1()); 

            }

             after(grammarAccess.getGeneratorModelAccess().getEntryRuleRuleCrossReference_3_2_0()); 

            }


            }

        }
        catch (RecognitionException re) {
            reportError(re);
            recover(input,re);
        }
        finally {

            	restoreStackSize(stackSize);

        }
        return ;
    }
    // $ANTLR end "rule__GeneratorModel__EntryRuleAssignment_3_2"


    // $ANTLR start "rule__GeneratorModel__EncodingAssignment_4_2"
    // ../de.thwildau.tm.moses.abnf.ui/src-gen/de/thwildau/tm/moses/xabnf/ui/contentassist/antlr/internal/InternalXabnf.g:2091:1: rule__GeneratorModel__EncodingAssignment_4_2 : ( RULE_STRING ) ;
    public final void rule__GeneratorModel__EncodingAssignment_4_2() throws RecognitionException {

        		int stackSize = keepStackSize();
            
        try {
            // ../de.thwildau.tm.moses.abnf.ui/src-gen/de/thwildau/tm/moses/xabnf/ui/contentassist/antlr/internal/InternalXabnf.g:2095:1: ( ( RULE_STRING ) )
            // ../de.thwildau.tm.moses.abnf.ui/src-gen/de/thwildau/tm/moses/xabnf/ui/contentassist/antlr/internal/InternalXabnf.g:2096:1: ( RULE_STRING )
            {
            // ../de.thwildau.tm.moses.abnf.ui/src-gen/de/thwildau/tm/moses/xabnf/ui/contentassist/antlr/internal/InternalXabnf.g:2096:1: ( RULE_STRING )
            // ../de.thwildau.tm.moses.abnf.ui/src-gen/de/thwildau/tm/moses/xabnf/ui/contentassist/antlr/internal/InternalXabnf.g:2097:1: RULE_STRING
            {
             before(grammarAccess.getGeneratorModelAccess().getEncodingSTRINGTerminalRuleCall_4_2_0()); 
            match(input,RULE_STRING,FOLLOW_RULE_STRING_in_rule__GeneratorModel__EncodingAssignment_4_24455); 
             after(grammarAccess.getGeneratorModelAccess().getEncodingSTRINGTerminalRuleCall_4_2_0()); 

            }


            }

        }
        catch (RecognitionException re) {
            reportError(re);
            recover(input,re);
        }
        finally {

            	restoreStackSize(stackSize);

        }
        return ;
    }
    // $ANTLR end "rule__GeneratorModel__EncodingAssignment_4_2"


    // $ANTLR start "rule__Bindings__BindingAssignment_3"
    // ../de.thwildau.tm.moses.abnf.ui/src-gen/de/thwildau/tm/moses/xabnf/ui/contentassist/antlr/internal/InternalXabnf.g:2106:1: rule__Bindings__BindingAssignment_3 : ( ruleBinding ) ;
    public final void rule__Bindings__BindingAssignment_3() throws RecognitionException {

        		int stackSize = keepStackSize();
            
        try {
            // ../de.thwildau.tm.moses.abnf.ui/src-gen/de/thwildau/tm/moses/xabnf/ui/contentassist/antlr/internal/InternalXabnf.g:2110:1: ( ( ruleBinding ) )
            // ../de.thwildau.tm.moses.abnf.ui/src-gen/de/thwildau/tm/moses/xabnf/ui/contentassist/antlr/internal/InternalXabnf.g:2111:1: ( ruleBinding )
            {
            // ../de.thwildau.tm.moses.abnf.ui/src-gen/de/thwildau/tm/moses/xabnf/ui/contentassist/antlr/internal/InternalXabnf.g:2111:1: ( ruleBinding )
            // ../de.thwildau.tm.moses.abnf.ui/src-gen/de/thwildau/tm/moses/xabnf/ui/contentassist/antlr/internal/InternalXabnf.g:2112:1: ruleBinding
            {
             before(grammarAccess.getBindingsAccess().getBindingBindingParserRuleCall_3_0()); 
            pushFollow(FOLLOW_ruleBinding_in_rule__Bindings__BindingAssignment_34486);
            ruleBinding();

            state._fsp--;

             after(grammarAccess.getBindingsAccess().getBindingBindingParserRuleCall_3_0()); 

            }


            }

        }
        catch (RecognitionException re) {
            reportError(re);
            recover(input,re);
        }
        finally {

            	restoreStackSize(stackSize);

        }
        return ;
    }
    // $ANTLR end "rule__Bindings__BindingAssignment_3"


    // $ANTLR start "rule__RuleBinding__RuleAssignment_1"
    // ../de.thwildau.tm.moses.abnf.ui/src-gen/de/thwildau/tm/moses/xabnf/ui/contentassist/antlr/internal/InternalXabnf.g:2121:1: rule__RuleBinding__RuleAssignment_1 : ( ( RULE_ID ) ) ;
    public final void rule__RuleBinding__RuleAssignment_1() throws RecognitionException {

        		int stackSize = keepStackSize();
            
        try {
            // ../de.thwildau.tm.moses.abnf.ui/src-gen/de/thwildau/tm/moses/xabnf/ui/contentassist/antlr/internal/InternalXabnf.g:2125:1: ( ( ( RULE_ID ) ) )
            // ../de.thwildau.tm.moses.abnf.ui/src-gen/de/thwildau/tm/moses/xabnf/ui/contentassist/antlr/internal/InternalXabnf.g:2126:1: ( ( RULE_ID ) )
            {
            // ../de.thwildau.tm.moses.abnf.ui/src-gen/de/thwildau/tm/moses/xabnf/ui/contentassist/antlr/internal/InternalXabnf.g:2126:1: ( ( RULE_ID ) )
            // ../de.thwildau.tm.moses.abnf.ui/src-gen/de/thwildau/tm/moses/xabnf/ui/contentassist/antlr/internal/InternalXabnf.g:2127:1: ( RULE_ID )
            {
             before(grammarAccess.getRuleBindingAccess().getRuleRuleCrossReference_1_0()); 
            // ../de.thwildau.tm.moses.abnf.ui/src-gen/de/thwildau/tm/moses/xabnf/ui/contentassist/antlr/internal/InternalXabnf.g:2128:1: ( RULE_ID )
            // ../de.thwildau.tm.moses.abnf.ui/src-gen/de/thwildau/tm/moses/xabnf/ui/contentassist/antlr/internal/InternalXabnf.g:2129:1: RULE_ID
            {
             before(grammarAccess.getRuleBindingAccess().getRuleRuleIDTerminalRuleCall_1_0_1()); 
            match(input,RULE_ID,FOLLOW_RULE_ID_in_rule__RuleBinding__RuleAssignment_14521); 
             after(grammarAccess.getRuleBindingAccess().getRuleRuleIDTerminalRuleCall_1_0_1()); 

            }

             after(grammarAccess.getRuleBindingAccess().getRuleRuleCrossReference_1_0()); 

            }


            }

        }
        catch (RecognitionException re) {
            reportError(re);
            recover(input,re);
        }
        finally {

            	restoreStackSize(stackSize);

        }
        return ;
    }
    // $ANTLR end "rule__RuleBinding__RuleAssignment_1"


    // $ANTLR start "rule__RuleBinding__TargetRuleNameAssignment_2_1"
    // ../de.thwildau.tm.moses.abnf.ui/src-gen/de/thwildau/tm/moses/xabnf/ui/contentassist/antlr/internal/InternalXabnf.g:2140:1: rule__RuleBinding__TargetRuleNameAssignment_2_1 : ( RULE_STRING ) ;
    public final void rule__RuleBinding__TargetRuleNameAssignment_2_1() throws RecognitionException {

        		int stackSize = keepStackSize();
            
        try {
            // ../de.thwildau.tm.moses.abnf.ui/src-gen/de/thwildau/tm/moses/xabnf/ui/contentassist/antlr/internal/InternalXabnf.g:2144:1: ( ( RULE_STRING ) )
            // ../de.thwildau.tm.moses.abnf.ui/src-gen/de/thwildau/tm/moses/xabnf/ui/contentassist/antlr/internal/InternalXabnf.g:2145:1: ( RULE_STRING )
            {
            // ../de.thwildau.tm.moses.abnf.ui/src-gen/de/thwildau/tm/moses/xabnf/ui/contentassist/antlr/internal/InternalXabnf.g:2145:1: ( RULE_STRING )
            // ../de.thwildau.tm.moses.abnf.ui/src-gen/de/thwildau/tm/moses/xabnf/ui/contentassist/antlr/internal/InternalXabnf.g:2146:1: RULE_STRING
            {
             before(grammarAccess.getRuleBindingAccess().getTargetRuleNameSTRINGTerminalRuleCall_2_1_0()); 
            match(input,RULE_STRING,FOLLOW_RULE_STRING_in_rule__RuleBinding__TargetRuleNameAssignment_2_14556); 
             after(grammarAccess.getRuleBindingAccess().getTargetRuleNameSTRINGTerminalRuleCall_2_1_0()); 

            }


            }

        }
        catch (RecognitionException re) {
            reportError(re);
            recover(input,re);
        }
        finally {

            	restoreStackSize(stackSize);

        }
        return ;
    }
    // $ANTLR end "rule__RuleBinding__TargetRuleNameAssignment_2_1"


    // $ANTLR start "rule__RuleBinding__FieldBindingsAssignment_3_1"
    // ../de.thwildau.tm.moses.abnf.ui/src-gen/de/thwildau/tm/moses/xabnf/ui/contentassist/antlr/internal/InternalXabnf.g:2155:1: rule__RuleBinding__FieldBindingsAssignment_3_1 : ( ruleFieldBinding ) ;
    public final void rule__RuleBinding__FieldBindingsAssignment_3_1() throws RecognitionException {

        		int stackSize = keepStackSize();
            
        try {
            // ../de.thwildau.tm.moses.abnf.ui/src-gen/de/thwildau/tm/moses/xabnf/ui/contentassist/antlr/internal/InternalXabnf.g:2159:1: ( ( ruleFieldBinding ) )
            // ../de.thwildau.tm.moses.abnf.ui/src-gen/de/thwildau/tm/moses/xabnf/ui/contentassist/antlr/internal/InternalXabnf.g:2160:1: ( ruleFieldBinding )
            {
            // ../de.thwildau.tm.moses.abnf.ui/src-gen/de/thwildau/tm/moses/xabnf/ui/contentassist/antlr/internal/InternalXabnf.g:2160:1: ( ruleFieldBinding )
            // ../de.thwildau.tm.moses.abnf.ui/src-gen/de/thwildau/tm/moses/xabnf/ui/contentassist/antlr/internal/InternalXabnf.g:2161:1: ruleFieldBinding
            {
             before(grammarAccess.getRuleBindingAccess().getFieldBindingsFieldBindingParserRuleCall_3_1_0()); 
            pushFollow(FOLLOW_ruleFieldBinding_in_rule__RuleBinding__FieldBindingsAssignment_3_14587);
            ruleFieldBinding();

            state._fsp--;

             after(grammarAccess.getRuleBindingAccess().getFieldBindingsFieldBindingParserRuleCall_3_1_0()); 

            }


            }

        }
        catch (RecognitionException re) {
            reportError(re);
            recover(input,re);
        }
        finally {

            	restoreStackSize(stackSize);

        }
        return ;
    }
    // $ANTLR end "rule__RuleBinding__FieldBindingsAssignment_3_1"


    // $ANTLR start "rule__FieldBinding__NameAssignment_1"
    // ../de.thwildau.tm.moses.abnf.ui/src-gen/de/thwildau/tm/moses/xabnf/ui/contentassist/antlr/internal/InternalXabnf.g:2170:1: rule__FieldBinding__NameAssignment_1 : ( RULE_STRING ) ;
    public final void rule__FieldBinding__NameAssignment_1() throws RecognitionException {

        		int stackSize = keepStackSize();
            
        try {
            // ../de.thwildau.tm.moses.abnf.ui/src-gen/de/thwildau/tm/moses/xabnf/ui/contentassist/antlr/internal/InternalXabnf.g:2174:1: ( ( RULE_STRING ) )
            // ../de.thwildau.tm.moses.abnf.ui/src-gen/de/thwildau/tm/moses/xabnf/ui/contentassist/antlr/internal/InternalXabnf.g:2175:1: ( RULE_STRING )
            {
            // ../de.thwildau.tm.moses.abnf.ui/src-gen/de/thwildau/tm/moses/xabnf/ui/contentassist/antlr/internal/InternalXabnf.g:2175:1: ( RULE_STRING )
            // ../de.thwildau.tm.moses.abnf.ui/src-gen/de/thwildau/tm/moses/xabnf/ui/contentassist/antlr/internal/InternalXabnf.g:2176:1: RULE_STRING
            {
             before(grammarAccess.getFieldBindingAccess().getNameSTRINGTerminalRuleCall_1_0()); 
            match(input,RULE_STRING,FOLLOW_RULE_STRING_in_rule__FieldBinding__NameAssignment_14618); 
             after(grammarAccess.getFieldBindingAccess().getNameSTRINGTerminalRuleCall_1_0()); 

            }


            }

        }
        catch (RecognitionException re) {
            reportError(re);
            recover(input,re);
        }
        finally {

            	restoreStackSize(stackSize);

        }
        return ;
    }
    // $ANTLR end "rule__FieldBinding__NameAssignment_1"


    // $ANTLR start "rule__FieldBinding__TypeAssignment_2"
    // ../de.thwildau.tm.moses.abnf.ui/src-gen/de/thwildau/tm/moses/xabnf/ui/contentassist/antlr/internal/InternalXabnf.g:2185:1: rule__FieldBinding__TypeAssignment_2 : ( ( RULE_ID ) ) ;
    public final void rule__FieldBinding__TypeAssignment_2() throws RecognitionException {

        		int stackSize = keepStackSize();
            
        try {
            // ../de.thwildau.tm.moses.abnf.ui/src-gen/de/thwildau/tm/moses/xabnf/ui/contentassist/antlr/internal/InternalXabnf.g:2189:1: ( ( ( RULE_ID ) ) )
            // ../de.thwildau.tm.moses.abnf.ui/src-gen/de/thwildau/tm/moses/xabnf/ui/contentassist/antlr/internal/InternalXabnf.g:2190:1: ( ( RULE_ID ) )
            {
            // ../de.thwildau.tm.moses.abnf.ui/src-gen/de/thwildau/tm/moses/xabnf/ui/contentassist/antlr/internal/InternalXabnf.g:2190:1: ( ( RULE_ID ) )
            // ../de.thwildau.tm.moses.abnf.ui/src-gen/de/thwildau/tm/moses/xabnf/ui/contentassist/antlr/internal/InternalXabnf.g:2191:1: ( RULE_ID )
            {
             before(grammarAccess.getFieldBindingAccess().getTypeRuleCrossReference_2_0()); 
            // ../de.thwildau.tm.moses.abnf.ui/src-gen/de/thwildau/tm/moses/xabnf/ui/contentassist/antlr/internal/InternalXabnf.g:2192:1: ( RULE_ID )
            // ../de.thwildau.tm.moses.abnf.ui/src-gen/de/thwildau/tm/moses/xabnf/ui/contentassist/antlr/internal/InternalXabnf.g:2193:1: RULE_ID
            {
             before(grammarAccess.getFieldBindingAccess().getTypeRuleIDTerminalRuleCall_2_0_1()); 
            match(input,RULE_ID,FOLLOW_RULE_ID_in_rule__FieldBinding__TypeAssignment_24653); 
             after(grammarAccess.getFieldBindingAccess().getTypeRuleIDTerminalRuleCall_2_0_1()); 

            }

             after(grammarAccess.getFieldBindingAccess().getTypeRuleCrossReference_2_0()); 

            }


            }

        }
        catch (RecognitionException re) {
            reportError(re);
            recover(input,re);
        }
        finally {

            	restoreStackSize(stackSize);

        }
        return ;
    }
    // $ANTLR end "rule__FieldBinding__TypeAssignment_2"


    // $ANTLR start "rule__FieldBinding__TargetNameAssignment_4"
    // ../de.thwildau.tm.moses.abnf.ui/src-gen/de/thwildau/tm/moses/xabnf/ui/contentassist/antlr/internal/InternalXabnf.g:2204:1: rule__FieldBinding__TargetNameAssignment_4 : ( RULE_STRING ) ;
    public final void rule__FieldBinding__TargetNameAssignment_4() throws RecognitionException {

        		int stackSize = keepStackSize();
            
        try {
            // ../de.thwildau.tm.moses.abnf.ui/src-gen/de/thwildau/tm/moses/xabnf/ui/contentassist/antlr/internal/InternalXabnf.g:2208:1: ( ( RULE_STRING ) )
            // ../de.thwildau.tm.moses.abnf.ui/src-gen/de/thwildau/tm/moses/xabnf/ui/contentassist/antlr/internal/InternalXabnf.g:2209:1: ( RULE_STRING )
            {
            // ../de.thwildau.tm.moses.abnf.ui/src-gen/de/thwildau/tm/moses/xabnf/ui/contentassist/antlr/internal/InternalXabnf.g:2209:1: ( RULE_STRING )
            // ../de.thwildau.tm.moses.abnf.ui/src-gen/de/thwildau/tm/moses/xabnf/ui/contentassist/antlr/internal/InternalXabnf.g:2210:1: RULE_STRING
            {
             before(grammarAccess.getFieldBindingAccess().getTargetNameSTRINGTerminalRuleCall_4_0()); 
            match(input,RULE_STRING,FOLLOW_RULE_STRING_in_rule__FieldBinding__TargetNameAssignment_44688); 
             after(grammarAccess.getFieldBindingAccess().getTargetNameSTRINGTerminalRuleCall_4_0()); 

            }


            }

        }
        catch (RecognitionException re) {
            reportError(re);
            recover(input,re);
        }
        finally {

            	restoreStackSize(stackSize);

        }
        return ;
    }
    // $ANTLR end "rule__FieldBinding__TargetNameAssignment_4"


    // $ANTLR start "rule__ClassBinding__RuleAssignment_1"
    // ../de.thwildau.tm.moses.abnf.ui/src-gen/de/thwildau/tm/moses/xabnf/ui/contentassist/antlr/internal/InternalXabnf.g:2219:1: rule__ClassBinding__RuleAssignment_1 : ( ( RULE_ID ) ) ;
    public final void rule__ClassBinding__RuleAssignment_1() throws RecognitionException {

        		int stackSize = keepStackSize();
            
        try {
            // ../de.thwildau.tm.moses.abnf.ui/src-gen/de/thwildau/tm/moses/xabnf/ui/contentassist/antlr/internal/InternalXabnf.g:2223:1: ( ( ( RULE_ID ) ) )
            // ../de.thwildau.tm.moses.abnf.ui/src-gen/de/thwildau/tm/moses/xabnf/ui/contentassist/antlr/internal/InternalXabnf.g:2224:1: ( ( RULE_ID ) )
            {
            // ../de.thwildau.tm.moses.abnf.ui/src-gen/de/thwildau/tm/moses/xabnf/ui/contentassist/antlr/internal/InternalXabnf.g:2224:1: ( ( RULE_ID ) )
            // ../de.thwildau.tm.moses.abnf.ui/src-gen/de/thwildau/tm/moses/xabnf/ui/contentassist/antlr/internal/InternalXabnf.g:2225:1: ( RULE_ID )
            {
             before(grammarAccess.getClassBindingAccess().getRuleRuleCrossReference_1_0()); 
            // ../de.thwildau.tm.moses.abnf.ui/src-gen/de/thwildau/tm/moses/xabnf/ui/contentassist/antlr/internal/InternalXabnf.g:2226:1: ( RULE_ID )
            // ../de.thwildau.tm.moses.abnf.ui/src-gen/de/thwildau/tm/moses/xabnf/ui/contentassist/antlr/internal/InternalXabnf.g:2227:1: RULE_ID
            {
             before(grammarAccess.getClassBindingAccess().getRuleRuleIDTerminalRuleCall_1_0_1()); 
            match(input,RULE_ID,FOLLOW_RULE_ID_in_rule__ClassBinding__RuleAssignment_14723); 
             after(grammarAccess.getClassBindingAccess().getRuleRuleIDTerminalRuleCall_1_0_1()); 

            }

             after(grammarAccess.getClassBindingAccess().getRuleRuleCrossReference_1_0()); 

            }


            }

        }
        catch (RecognitionException re) {
            reportError(re);
            recover(input,re);
        }
        finally {

            	restoreStackSize(stackSize);

        }
        return ;
    }
    // $ANTLR end "rule__ClassBinding__RuleAssignment_1"


    // $ANTLR start "rule__ClassBinding__ClassNameAssignment_3"
    // ../de.thwildau.tm.moses.abnf.ui/src-gen/de/thwildau/tm/moses/xabnf/ui/contentassist/antlr/internal/InternalXabnf.g:2238:1: rule__ClassBinding__ClassNameAssignment_3 : ( RULE_STRING ) ;
    public final void rule__ClassBinding__ClassNameAssignment_3() throws RecognitionException {

        		int stackSize = keepStackSize();
            
        try {
            // ../de.thwildau.tm.moses.abnf.ui/src-gen/de/thwildau/tm/moses/xabnf/ui/contentassist/antlr/internal/InternalXabnf.g:2242:1: ( ( RULE_STRING ) )
            // ../de.thwildau.tm.moses.abnf.ui/src-gen/de/thwildau/tm/moses/xabnf/ui/contentassist/antlr/internal/InternalXabnf.g:2243:1: ( RULE_STRING )
            {
            // ../de.thwildau.tm.moses.abnf.ui/src-gen/de/thwildau/tm/moses/xabnf/ui/contentassist/antlr/internal/InternalXabnf.g:2243:1: ( RULE_STRING )
            // ../de.thwildau.tm.moses.abnf.ui/src-gen/de/thwildau/tm/moses/xabnf/ui/contentassist/antlr/internal/InternalXabnf.g:2244:1: RULE_STRING
            {
             before(grammarAccess.getClassBindingAccess().getClassNameSTRINGTerminalRuleCall_3_0()); 
            match(input,RULE_STRING,FOLLOW_RULE_STRING_in_rule__ClassBinding__ClassNameAssignment_34758); 
             after(grammarAccess.getClassBindingAccess().getClassNameSTRINGTerminalRuleCall_3_0()); 

            }


            }

        }
        catch (RecognitionException re) {
            reportError(re);
            recover(input,re);
        }
        finally {

            	restoreStackSize(stackSize);

        }
        return ;
    }
    // $ANTLR end "rule__ClassBinding__ClassNameAssignment_3"


    // $ANTLR start "rule__ClassBinding__MethodNameAssignment_4_1"
    // ../de.thwildau.tm.moses.abnf.ui/src-gen/de/thwildau/tm/moses/xabnf/ui/contentassist/antlr/internal/InternalXabnf.g:2253:1: rule__ClassBinding__MethodNameAssignment_4_1 : ( RULE_STRING ) ;
    public final void rule__ClassBinding__MethodNameAssignment_4_1() throws RecognitionException {

        		int stackSize = keepStackSize();
            
        try {
            // ../de.thwildau.tm.moses.abnf.ui/src-gen/de/thwildau/tm/moses/xabnf/ui/contentassist/antlr/internal/InternalXabnf.g:2257:1: ( ( RULE_STRING ) )
            // ../de.thwildau.tm.moses.abnf.ui/src-gen/de/thwildau/tm/moses/xabnf/ui/contentassist/antlr/internal/InternalXabnf.g:2258:1: ( RULE_STRING )
            {
            // ../de.thwildau.tm.moses.abnf.ui/src-gen/de/thwildau/tm/moses/xabnf/ui/contentassist/antlr/internal/InternalXabnf.g:2258:1: ( RULE_STRING )
            // ../de.thwildau.tm.moses.abnf.ui/src-gen/de/thwildau/tm/moses/xabnf/ui/contentassist/antlr/internal/InternalXabnf.g:2259:1: RULE_STRING
            {
             before(grammarAccess.getClassBindingAccess().getMethodNameSTRINGTerminalRuleCall_4_1_0()); 
            match(input,RULE_STRING,FOLLOW_RULE_STRING_in_rule__ClassBinding__MethodNameAssignment_4_14789); 
             after(grammarAccess.getClassBindingAccess().getMethodNameSTRINGTerminalRuleCall_4_1_0()); 

            }


            }

        }
        catch (RecognitionException re) {
            reportError(re);
            recover(input,re);
        }
        finally {

            	restoreStackSize(stackSize);

        }
        return ;
    }
    // $ANTLR end "rule__ClassBinding__MethodNameAssignment_4_1"

    // Delegated rules


 

    public static final BitSet FOLLOW_ruleXabnf_in_entryRuleXabnf61 = new BitSet(new long[]{0x0000000000000000L});
    public static final BitSet FOLLOW_EOF_in_entryRuleXabnf68 = new BitSet(new long[]{0x0000000000000002L});
    public static final BitSet FOLLOW_rule__Xabnf__Group__0_in_ruleXabnf94 = new BitSet(new long[]{0x0000000000000002L});
    public static final BitSet FOLLOW_ruleGeneratorModel_in_entryRuleGeneratorModel121 = new BitSet(new long[]{0x0000000000000000L});
    public static final BitSet FOLLOW_EOF_in_entryRuleGeneratorModel128 = new BitSet(new long[]{0x0000000000000002L});
    public static final BitSet FOLLOW_rule__GeneratorModel__UnorderedGroup_in_ruleGeneratorModel154 = new BitSet(new long[]{0x0000000000000002L});
    public static final BitSet FOLLOW_ruleBindings_in_entryRuleBindings181 = new BitSet(new long[]{0x0000000000000000L});
    public static final BitSet FOLLOW_EOF_in_entryRuleBindings188 = new BitSet(new long[]{0x0000000000000002L});
    public static final BitSet FOLLOW_rule__Bindings__Group__0_in_ruleBindings214 = new BitSet(new long[]{0x0000000000000002L});
    public static final BitSet FOLLOW_ruleBinding_in_entryRuleBinding241 = new BitSet(new long[]{0x0000000000000000L});
    public static final BitSet FOLLOW_EOF_in_entryRuleBinding248 = new BitSet(new long[]{0x0000000000000002L});
    public static final BitSet FOLLOW_rule__Binding__Alternatives_in_ruleBinding274 = new BitSet(new long[]{0x0000000000000002L});
    public static final BitSet FOLLOW_ruleRuleBinding_in_entryRuleRuleBinding301 = new BitSet(new long[]{0x0000000000000000L});
    public static final BitSet FOLLOW_EOF_in_entryRuleRuleBinding308 = new BitSet(new long[]{0x0000000000000002L});
    public static final BitSet FOLLOW_rule__RuleBinding__Group__0_in_ruleRuleBinding334 = new BitSet(new long[]{0x0000000000000002L});
    public static final BitSet FOLLOW_ruleFieldBinding_in_entryRuleFieldBinding361 = new BitSet(new long[]{0x0000000000000000L});
    public static final BitSet FOLLOW_EOF_in_entryRuleFieldBinding368 = new BitSet(new long[]{0x0000000000000002L});
    public static final BitSet FOLLOW_rule__FieldBinding__Group__0_in_ruleFieldBinding394 = new BitSet(new long[]{0x0000000000000002L});
    public static final BitSet FOLLOW_ruleClassBinding_in_entryRuleClassBinding421 = new BitSet(new long[]{0x0000000000000000L});
    public static final BitSet FOLLOW_EOF_in_entryRuleClassBinding428 = new BitSet(new long[]{0x0000000000000002L});
    public static final BitSet FOLLOW_rule__ClassBinding__Group__0_in_ruleClassBinding454 = new BitSet(new long[]{0x0000000000000002L});
    public static final BitSet FOLLOW_rule__Language__Alternatives_in_ruleLanguage491 = new BitSet(new long[]{0x0000000000000002L});
    public static final BitSet FOLLOW_ruleRuleBinding_in_rule__Binding__Alternatives526 = new BitSet(new long[]{0x0000000000000002L});
    public static final BitSet FOLLOW_ruleClassBinding_in_rule__Binding__Alternatives543 = new BitSet(new long[]{0x0000000000000002L});
    public static final BitSet FOLLOW_11_in_rule__Language__Alternatives576 = new BitSet(new long[]{0x0000000000000002L});
    public static final BitSet FOLLOW_12_in_rule__Language__Alternatives597 = new BitSet(new long[]{0x0000000000000002L});
    public static final BitSet FOLLOW_13_in_rule__Language__Alternatives618 = new BitSet(new long[]{0x0000000000000002L});
    public static final BitSet FOLLOW_rule__Xabnf__Group__0__Impl_in_rule__Xabnf__Group__0651 = new BitSet(new long[]{0x0000000000400000L});
    public static final BitSet FOLLOW_rule__Xabnf__Group__1_in_rule__Xabnf__Group__0654 = new BitSet(new long[]{0x0000000000000002L});
    public static final BitSet FOLLOW_rule__Xabnf__GeneratorModelAssignment_0_in_rule__Xabnf__Group__0__Impl681 = new BitSet(new long[]{0x0000000000000002L});
    public static final BitSet FOLLOW_rule__Xabnf__Group__1__Impl_in_rule__Xabnf__Group__1711 = new BitSet(new long[]{0x0000000000000002L});
    public static final BitSet FOLLOW_rule__Xabnf__BindingsAssignment_1_in_rule__Xabnf__Group__1__Impl738 = new BitSet(new long[]{0x0000000000000002L});
    public static final BitSet FOLLOW_rule__GeneratorModel__Group_0__0__Impl_in_rule__GeneratorModel__Group_0__0772 = new BitSet(new long[]{0x0000000000008000L});
    public static final BitSet FOLLOW_rule__GeneratorModel__Group_0__1_in_rule__GeneratorModel__Group_0__0775 = new BitSet(new long[]{0x0000000000000002L});
    public static final BitSet FOLLOW_14_in_rule__GeneratorModel__Group_0__0__Impl803 = new BitSet(new long[]{0x0000000000000002L});
    public static final BitSet FOLLOW_rule__GeneratorModel__Group_0__1__Impl_in_rule__GeneratorModel__Group_0__1834 = new BitSet(new long[]{0x0000000000010000L});
    public static final BitSet FOLLOW_rule__GeneratorModel__Group_0__2_in_rule__GeneratorModel__Group_0__1837 = new BitSet(new long[]{0x0000000000000002L});
    public static final BitSet FOLLOW_15_in_rule__GeneratorModel__Group_0__1__Impl865 = new BitSet(new long[]{0x0000000000000002L});
    public static final BitSet FOLLOW_rule__GeneratorModel__Group_0__2__Impl_in_rule__GeneratorModel__Group_0__2896 = new BitSet(new long[]{0x0000000000020000L});
    public static final BitSet FOLLOW_rule__GeneratorModel__Group_0__3_in_rule__GeneratorModel__Group_0__2899 = new BitSet(new long[]{0x0000000000000002L});
    public static final BitSet FOLLOW_16_in_rule__GeneratorModel__Group_0__2__Impl927 = new BitSet(new long[]{0x0000000000000002L});
    public static final BitSet FOLLOW_rule__GeneratorModel__Group_0__3__Impl_in_rule__GeneratorModel__Group_0__3958 = new BitSet(new long[]{0x0000000000000010L});
    public static final BitSet FOLLOW_rule__GeneratorModel__Group_0__4_in_rule__GeneratorModel__Group_0__3961 = new BitSet(new long[]{0x0000000000000002L});
    public static final BitSet FOLLOW_17_in_rule__GeneratorModel__Group_0__3__Impl989 = new BitSet(new long[]{0x0000000000000002L});
    public static final BitSet FOLLOW_rule__GeneratorModel__Group_0__4__Impl_in_rule__GeneratorModel__Group_0__41020 = new BitSet(new long[]{0x0000000000000002L});
    public static final BitSet FOLLOW_rule__GeneratorModel__FileAssignment_0_4_in_rule__GeneratorModel__Group_0__4__Impl1047 = new BitSet(new long[]{0x0000000000000002L});
    public static final BitSet FOLLOW_rule__GeneratorModel__Group_1__0__Impl_in_rule__GeneratorModel__Group_1__01087 = new BitSet(new long[]{0x0000000000020000L});
    public static final BitSet FOLLOW_rule__GeneratorModel__Group_1__1_in_rule__GeneratorModel__Group_1__01090 = new BitSet(new long[]{0x0000000000000002L});
    public static final BitSet FOLLOW_18_in_rule__GeneratorModel__Group_1__0__Impl1118 = new BitSet(new long[]{0x0000000000000002L});
    public static final BitSet FOLLOW_rule__GeneratorModel__Group_1__1__Impl_in_rule__GeneratorModel__Group_1__11149 = new BitSet(new long[]{0x0000000000003800L});
    public static final BitSet FOLLOW_rule__GeneratorModel__Group_1__2_in_rule__GeneratorModel__Group_1__11152 = new BitSet(new long[]{0x0000000000000002L});
    public static final BitSet FOLLOW_17_in_rule__GeneratorModel__Group_1__1__Impl1180 = new BitSet(new long[]{0x0000000000000002L});
    public static final BitSet FOLLOW_rule__GeneratorModel__Group_1__2__Impl_in_rule__GeneratorModel__Group_1__21211 = new BitSet(new long[]{0x0000000000000002L});
    public static final BitSet FOLLOW_rule__GeneratorModel__LanguageAssignment_1_2_in_rule__GeneratorModel__Group_1__2__Impl1238 = new BitSet(new long[]{0x0000000000000002L});
    public static final BitSet FOLLOW_rule__GeneratorModel__Group_2__0__Impl_in_rule__GeneratorModel__Group_2__01274 = new BitSet(new long[]{0x0000000000020000L});
    public static final BitSet FOLLOW_rule__GeneratorModel__Group_2__1_in_rule__GeneratorModel__Group_2__01277 = new BitSet(new long[]{0x0000000000000002L});
    public static final BitSet FOLLOW_19_in_rule__GeneratorModel__Group_2__0__Impl1305 = new BitSet(new long[]{0x0000000000000002L});
    public static final BitSet FOLLOW_rule__GeneratorModel__Group_2__1__Impl_in_rule__GeneratorModel__Group_2__11336 = new BitSet(new long[]{0x0000000000000010L});
    public static final BitSet FOLLOW_rule__GeneratorModel__Group_2__2_in_rule__GeneratorModel__Group_2__11339 = new BitSet(new long[]{0x0000000000000002L});
    public static final BitSet FOLLOW_17_in_rule__GeneratorModel__Group_2__1__Impl1367 = new BitSet(new long[]{0x0000000000000002L});
    public static final BitSet FOLLOW_rule__GeneratorModel__Group_2__2__Impl_in_rule__GeneratorModel__Group_2__21398 = new BitSet(new long[]{0x0000000000000002L});
    public static final BitSet FOLLOW_rule__GeneratorModel__PackageAssignment_2_2_in_rule__GeneratorModel__Group_2__2__Impl1425 = new BitSet(new long[]{0x0000000000000002L});
    public static final BitSet FOLLOW_rule__GeneratorModel__Group_3__0__Impl_in_rule__GeneratorModel__Group_3__01461 = new BitSet(new long[]{0x0000000000020000L});
    public static final BitSet FOLLOW_rule__GeneratorModel__Group_3__1_in_rule__GeneratorModel__Group_3__01464 = new BitSet(new long[]{0x0000000000000002L});
    public static final BitSet FOLLOW_20_in_rule__GeneratorModel__Group_3__0__Impl1492 = new BitSet(new long[]{0x0000000000000002L});
    public static final BitSet FOLLOW_rule__GeneratorModel__Group_3__1__Impl_in_rule__GeneratorModel__Group_3__11523 = new BitSet(new long[]{0x0000000000000020L});
    public static final BitSet FOLLOW_rule__GeneratorModel__Group_3__2_in_rule__GeneratorModel__Group_3__11526 = new BitSet(new long[]{0x0000000000000002L});
    public static final BitSet FOLLOW_17_in_rule__GeneratorModel__Group_3__1__Impl1554 = new BitSet(new long[]{0x0000000000000002L});
    public static final BitSet FOLLOW_rule__GeneratorModel__Group_3__2__Impl_in_rule__GeneratorModel__Group_3__21585 = new BitSet(new long[]{0x0000000000000002L});
    public static final BitSet FOLLOW_rule__GeneratorModel__EntryRuleAssignment_3_2_in_rule__GeneratorModel__Group_3__2__Impl1612 = new BitSet(new long[]{0x0000000000000002L});
    public static final BitSet FOLLOW_rule__GeneratorModel__Group_4__0__Impl_in_rule__GeneratorModel__Group_4__01648 = new BitSet(new long[]{0x0000000000020000L});
    public static final BitSet FOLLOW_rule__GeneratorModel__Group_4__1_in_rule__GeneratorModel__Group_4__01651 = new BitSet(new long[]{0x0000000000000002L});
    public static final BitSet FOLLOW_21_in_rule__GeneratorModel__Group_4__0__Impl1679 = new BitSet(new long[]{0x0000000000000002L});
    public static final BitSet FOLLOW_rule__GeneratorModel__Group_4__1__Impl_in_rule__GeneratorModel__Group_4__11710 = new BitSet(new long[]{0x0000000000000010L});
    public static final BitSet FOLLOW_rule__GeneratorModel__Group_4__2_in_rule__GeneratorModel__Group_4__11713 = new BitSet(new long[]{0x0000000000000002L});
    public static final BitSet FOLLOW_17_in_rule__GeneratorModel__Group_4__1__Impl1741 = new BitSet(new long[]{0x0000000000000002L});
    public static final BitSet FOLLOW_rule__GeneratorModel__Group_4__2__Impl_in_rule__GeneratorModel__Group_4__21772 = new BitSet(new long[]{0x0000000000000002L});
    public static final BitSet FOLLOW_rule__GeneratorModel__EncodingAssignment_4_2_in_rule__GeneratorModel__Group_4__2__Impl1799 = new BitSet(new long[]{0x0000000000000002L});
    public static final BitSet FOLLOW_rule__Bindings__Group__0__Impl_in_rule__Bindings__Group__01835 = new BitSet(new long[]{0x0000000000400000L});
    public static final BitSet FOLLOW_rule__Bindings__Group__1_in_rule__Bindings__Group__01838 = new BitSet(new long[]{0x0000000000000002L});
    public static final BitSet FOLLOW_rule__Bindings__Group__1__Impl_in_rule__Bindings__Group__11896 = new BitSet(new long[]{0x0000000000008000L});
    public static final BitSet FOLLOW_rule__Bindings__Group__2_in_rule__Bindings__Group__11899 = new BitSet(new long[]{0x0000000000000002L});
    public static final BitSet FOLLOW_22_in_rule__Bindings__Group__1__Impl1927 = new BitSet(new long[]{0x0000000000000002L});
    public static final BitSet FOLLOW_rule__Bindings__Group__2__Impl_in_rule__Bindings__Group__21958 = new BitSet(new long[]{0x0000000001800000L});
    public static final BitSet FOLLOW_rule__Bindings__Group__3_in_rule__Bindings__Group__21961 = new BitSet(new long[]{0x0000000000000002L});
    public static final BitSet FOLLOW_15_in_rule__Bindings__Group__2__Impl1989 = new BitSet(new long[]{0x0000000000000002L});
    public static final BitSet FOLLOW_rule__Bindings__Group__3__Impl_in_rule__Bindings__Group__32020 = new BitSet(new long[]{0x0000000001800000L});
    public static final BitSet FOLLOW_rule__Bindings__Group__4_in_rule__Bindings__Group__32023 = new BitSet(new long[]{0x0000000000000002L});
    public static final BitSet FOLLOW_rule__Bindings__BindingAssignment_3_in_rule__Bindings__Group__3__Impl2050 = new BitSet(new long[]{0x0000000001000002L});
    public static final BitSet FOLLOW_rule__Bindings__Group__4__Impl_in_rule__Bindings__Group__42081 = new BitSet(new long[]{0x0000000000000002L});
    public static final BitSet FOLLOW_23_in_rule__Bindings__Group__4__Impl2109 = new BitSet(new long[]{0x0000000000000002L});
    public static final BitSet FOLLOW_rule__RuleBinding__Group__0__Impl_in_rule__RuleBinding__Group__02150 = new BitSet(new long[]{0x0000000000000020L});
    public static final BitSet FOLLOW_rule__RuleBinding__Group__1_in_rule__RuleBinding__Group__02153 = new BitSet(new long[]{0x0000000000000002L});
    public static final BitSet FOLLOW_24_in_rule__RuleBinding__Group__0__Impl2181 = new BitSet(new long[]{0x0000000000000002L});
    public static final BitSet FOLLOW_rule__RuleBinding__Group__1__Impl_in_rule__RuleBinding__Group__12212 = new BitSet(new long[]{0x0000000002008000L});
    public static final BitSet FOLLOW_rule__RuleBinding__Group__2_in_rule__RuleBinding__Group__12215 = new BitSet(new long[]{0x0000000000000002L});
    public static final BitSet FOLLOW_rule__RuleBinding__RuleAssignment_1_in_rule__RuleBinding__Group__1__Impl2242 = new BitSet(new long[]{0x0000000000000002L});
    public static final BitSet FOLLOW_rule__RuleBinding__Group__2__Impl_in_rule__RuleBinding__Group__22272 = new BitSet(new long[]{0x0000000002008000L});
    public static final BitSet FOLLOW_rule__RuleBinding__Group__3_in_rule__RuleBinding__Group__22275 = new BitSet(new long[]{0x0000000000000002L});
    public static final BitSet FOLLOW_rule__RuleBinding__Group_2__0_in_rule__RuleBinding__Group__2__Impl2302 = new BitSet(new long[]{0x0000000000000002L});
    public static final BitSet FOLLOW_rule__RuleBinding__Group__3__Impl_in_rule__RuleBinding__Group__32333 = new BitSet(new long[]{0x0000000000000002L});
    public static final BitSet FOLLOW_rule__RuleBinding__Group_3__0_in_rule__RuleBinding__Group__3__Impl2360 = new BitSet(new long[]{0x0000000000000002L});
    public static final BitSet FOLLOW_rule__RuleBinding__Group_2__0__Impl_in_rule__RuleBinding__Group_2__02399 = new BitSet(new long[]{0x0000000000000010L});
    public static final BitSet FOLLOW_rule__RuleBinding__Group_2__1_in_rule__RuleBinding__Group_2__02402 = new BitSet(new long[]{0x0000000000000002L});
    public static final BitSet FOLLOW_25_in_rule__RuleBinding__Group_2__0__Impl2430 = new BitSet(new long[]{0x0000000000000002L});
    public static final BitSet FOLLOW_rule__RuleBinding__Group_2__1__Impl_in_rule__RuleBinding__Group_2__12461 = new BitSet(new long[]{0x0000000000000002L});
    public static final BitSet FOLLOW_rule__RuleBinding__TargetRuleNameAssignment_2_1_in_rule__RuleBinding__Group_2__1__Impl2488 = new BitSet(new long[]{0x0000000000000002L});
    public static final BitSet FOLLOW_rule__RuleBinding__Group_3__0__Impl_in_rule__RuleBinding__Group_3__02522 = new BitSet(new long[]{0x0000000004000000L});
    public static final BitSet FOLLOW_rule__RuleBinding__Group_3__1_in_rule__RuleBinding__Group_3__02525 = new BitSet(new long[]{0x0000000000000002L});
    public static final BitSet FOLLOW_15_in_rule__RuleBinding__Group_3__0__Impl2553 = new BitSet(new long[]{0x0000000000000002L});
    public static final BitSet FOLLOW_rule__RuleBinding__Group_3__1__Impl_in_rule__RuleBinding__Group_3__12584 = new BitSet(new long[]{0x0000000000800000L});
    public static final BitSet FOLLOW_rule__RuleBinding__Group_3__2_in_rule__RuleBinding__Group_3__12587 = new BitSet(new long[]{0x0000000000000002L});
    public static final BitSet FOLLOW_rule__RuleBinding__FieldBindingsAssignment_3_1_in_rule__RuleBinding__Group_3__1__Impl2616 = new BitSet(new long[]{0x0000000004000002L});
    public static final BitSet FOLLOW_rule__RuleBinding__FieldBindingsAssignment_3_1_in_rule__RuleBinding__Group_3__1__Impl2628 = new BitSet(new long[]{0x0000000004000002L});
    public static final BitSet FOLLOW_rule__RuleBinding__Group_3__2__Impl_in_rule__RuleBinding__Group_3__22661 = new BitSet(new long[]{0x0000000000000002L});
    public static final BitSet FOLLOW_23_in_rule__RuleBinding__Group_3__2__Impl2689 = new BitSet(new long[]{0x0000000000000002L});
    public static final BitSet FOLLOW_rule__FieldBinding__Group__0__Impl_in_rule__FieldBinding__Group__02726 = new BitSet(new long[]{0x0000000000000010L});
    public static final BitSet FOLLOW_rule__FieldBinding__Group__1_in_rule__FieldBinding__Group__02729 = new BitSet(new long[]{0x0000000000000002L});
    public static final BitSet FOLLOW_26_in_rule__FieldBinding__Group__0__Impl2757 = new BitSet(new long[]{0x0000000000000002L});
    public static final BitSet FOLLOW_rule__FieldBinding__Group__1__Impl_in_rule__FieldBinding__Group__12788 = new BitSet(new long[]{0x0000000002000020L});
    public static final BitSet FOLLOW_rule__FieldBinding__Group__2_in_rule__FieldBinding__Group__12791 = new BitSet(new long[]{0x0000000000000002L});
    public static final BitSet FOLLOW_rule__FieldBinding__NameAssignment_1_in_rule__FieldBinding__Group__1__Impl2818 = new BitSet(new long[]{0x0000000000000002L});
    public static final BitSet FOLLOW_rule__FieldBinding__Group__2__Impl_in_rule__FieldBinding__Group__22848 = new BitSet(new long[]{0x0000000002000020L});
    public static final BitSet FOLLOW_rule__FieldBinding__Group__3_in_rule__FieldBinding__Group__22851 = new BitSet(new long[]{0x0000000000000002L});
    public static final BitSet FOLLOW_rule__FieldBinding__TypeAssignment_2_in_rule__FieldBinding__Group__2__Impl2878 = new BitSet(new long[]{0x0000000000000002L});
    public static final BitSet FOLLOW_rule__FieldBinding__Group__3__Impl_in_rule__FieldBinding__Group__32909 = new BitSet(new long[]{0x0000000000000010L});
    public static final BitSet FOLLOW_rule__FieldBinding__Group__4_in_rule__FieldBinding__Group__32912 = new BitSet(new long[]{0x0000000000000002L});
    public static final BitSet FOLLOW_25_in_rule__FieldBinding__Group__3__Impl2940 = new BitSet(new long[]{0x0000000000000002L});
    public static final BitSet FOLLOW_rule__FieldBinding__Group__4__Impl_in_rule__FieldBinding__Group__42971 = new BitSet(new long[]{0x0000000000000002L});
    public static final BitSet FOLLOW_rule__FieldBinding__TargetNameAssignment_4_in_rule__FieldBinding__Group__4__Impl2998 = new BitSet(new long[]{0x0000000000000002L});
    public static final BitSet FOLLOW_rule__ClassBinding__Group__0__Impl_in_rule__ClassBinding__Group__03038 = new BitSet(new long[]{0x0000000000000020L});
    public static final BitSet FOLLOW_rule__ClassBinding__Group__1_in_rule__ClassBinding__Group__03041 = new BitSet(new long[]{0x0000000000000002L});
    public static final BitSet FOLLOW_24_in_rule__ClassBinding__Group__0__Impl3069 = new BitSet(new long[]{0x0000000000000002L});
    public static final BitSet FOLLOW_rule__ClassBinding__Group__1__Impl_in_rule__ClassBinding__Group__13100 = new BitSet(new long[]{0x0000000008000000L});
    public static final BitSet FOLLOW_rule__ClassBinding__Group__2_in_rule__ClassBinding__Group__13103 = new BitSet(new long[]{0x0000000000000002L});
    public static final BitSet FOLLOW_rule__ClassBinding__RuleAssignment_1_in_rule__ClassBinding__Group__1__Impl3130 = new BitSet(new long[]{0x0000000000000002L});
    public static final BitSet FOLLOW_rule__ClassBinding__Group__2__Impl_in_rule__ClassBinding__Group__23160 = new BitSet(new long[]{0x0000000000000010L});
    public static final BitSet FOLLOW_rule__ClassBinding__Group__3_in_rule__ClassBinding__Group__23163 = new BitSet(new long[]{0x0000000000000002L});
    public static final BitSet FOLLOW_27_in_rule__ClassBinding__Group__2__Impl3191 = new BitSet(new long[]{0x0000000000000002L});
    public static final BitSet FOLLOW_rule__ClassBinding__Group__3__Impl_in_rule__ClassBinding__Group__33222 = new BitSet(new long[]{0x0000000010000000L});
    public static final BitSet FOLLOW_rule__ClassBinding__Group__4_in_rule__ClassBinding__Group__33225 = new BitSet(new long[]{0x0000000000000002L});
    public static final BitSet FOLLOW_rule__ClassBinding__ClassNameAssignment_3_in_rule__ClassBinding__Group__3__Impl3252 = new BitSet(new long[]{0x0000000000000002L});
    public static final BitSet FOLLOW_rule__ClassBinding__Group__4__Impl_in_rule__ClassBinding__Group__43282 = new BitSet(new long[]{0x0000000000000002L});
    public static final BitSet FOLLOW_rule__ClassBinding__Group_4__0_in_rule__ClassBinding__Group__4__Impl3309 = new BitSet(new long[]{0x0000000000000002L});
    public static final BitSet FOLLOW_rule__ClassBinding__Group_4__0__Impl_in_rule__ClassBinding__Group_4__03350 = new BitSet(new long[]{0x0000000000000010L});
    public static final BitSet FOLLOW_rule__ClassBinding__Group_4__1_in_rule__ClassBinding__Group_4__03353 = new BitSet(new long[]{0x0000000000000002L});
    public static final BitSet FOLLOW_28_in_rule__ClassBinding__Group_4__0__Impl3381 = new BitSet(new long[]{0x0000000000000002L});
    public static final BitSet FOLLOW_rule__ClassBinding__Group_4__1__Impl_in_rule__ClassBinding__Group_4__13412 = new BitSet(new long[]{0x0000000000000002L});
    public static final BitSet FOLLOW_rule__ClassBinding__MethodNameAssignment_4_1_in_rule__ClassBinding__Group_4__1__Impl3439 = new BitSet(new long[]{0x0000000000000002L});
    public static final BitSet FOLLOW_rule__GeneratorModel__UnorderedGroup__0_in_rule__GeneratorModel__UnorderedGroup3474 = new BitSet(new long[]{0x0000000000000002L});
    public static final BitSet FOLLOW_rule__GeneratorModel__Group_0__0_in_rule__GeneratorModel__UnorderedGroup__Impl3563 = new BitSet(new long[]{0x0000000000000002L});
    public static final BitSet FOLLOW_rule__GeneratorModel__Group_1__0_in_rule__GeneratorModel__UnorderedGroup__Impl3654 = new BitSet(new long[]{0x0000000000000002L});
    public static final BitSet FOLLOW_rule__GeneratorModel__Group_2__0_in_rule__GeneratorModel__UnorderedGroup__Impl3745 = new BitSet(new long[]{0x0000000000000002L});
    public static final BitSet FOLLOW_rule__GeneratorModel__Group_3__0_in_rule__GeneratorModel__UnorderedGroup__Impl3836 = new BitSet(new long[]{0x0000000000000002L});
    public static final BitSet FOLLOW_rule__GeneratorModel__Group_4__0_in_rule__GeneratorModel__UnorderedGroup__Impl3927 = new BitSet(new long[]{0x0000000000000002L});
    public static final BitSet FOLLOW_23_in_rule__GeneratorModel__UnorderedGroup__Impl4020 = new BitSet(new long[]{0x0000000000000002L});
    public static final BitSet FOLLOW_rule__GeneratorModel__UnorderedGroup__Impl_in_rule__GeneratorModel__UnorderedGroup__04081 = new BitSet(new long[]{0x0000000000BC4002L});
    public static final BitSet FOLLOW_rule__GeneratorModel__UnorderedGroup__1_in_rule__GeneratorModel__UnorderedGroup__04084 = new BitSet(new long[]{0x0000000000000002L});
    public static final BitSet FOLLOW_rule__GeneratorModel__UnorderedGroup__Impl_in_rule__GeneratorModel__UnorderedGroup__14109 = new BitSet(new long[]{0x0000000000BC4002L});
    public static final BitSet FOLLOW_rule__GeneratorModel__UnorderedGroup__2_in_rule__GeneratorModel__UnorderedGroup__14112 = new BitSet(new long[]{0x0000000000000002L});
    public static final BitSet FOLLOW_rule__GeneratorModel__UnorderedGroup__Impl_in_rule__GeneratorModel__UnorderedGroup__24137 = new BitSet(new long[]{0x0000000000BC4002L});
    public static final BitSet FOLLOW_rule__GeneratorModel__UnorderedGroup__3_in_rule__GeneratorModel__UnorderedGroup__24140 = new BitSet(new long[]{0x0000000000000002L});
    public static final BitSet FOLLOW_rule__GeneratorModel__UnorderedGroup__Impl_in_rule__GeneratorModel__UnorderedGroup__34165 = new BitSet(new long[]{0x0000000000BC4002L});
    public static final BitSet FOLLOW_rule__GeneratorModel__UnorderedGroup__4_in_rule__GeneratorModel__UnorderedGroup__34168 = new BitSet(new long[]{0x0000000000000002L});
    public static final BitSet FOLLOW_rule__GeneratorModel__UnorderedGroup__Impl_in_rule__GeneratorModel__UnorderedGroup__44193 = new BitSet(new long[]{0x0000000000BC4002L});
    public static final BitSet FOLLOW_rule__GeneratorModel__UnorderedGroup__5_in_rule__GeneratorModel__UnorderedGroup__44196 = new BitSet(new long[]{0x0000000000000002L});
    public static final BitSet FOLLOW_rule__GeneratorModel__UnorderedGroup__Impl_in_rule__GeneratorModel__UnorderedGroup__54221 = new BitSet(new long[]{0x0000000000000002L});
    public static final BitSet FOLLOW_ruleGeneratorModel_in_rule__Xabnf__GeneratorModelAssignment_04261 = new BitSet(new long[]{0x0000000000000002L});
    public static final BitSet FOLLOW_ruleBindings_in_rule__Xabnf__BindingsAssignment_14292 = new BitSet(new long[]{0x0000000000000002L});
    public static final BitSet FOLLOW_RULE_STRING_in_rule__GeneratorModel__FileAssignment_0_44323 = new BitSet(new long[]{0x0000000000000002L});
    public static final BitSet FOLLOW_ruleLanguage_in_rule__GeneratorModel__LanguageAssignment_1_24354 = new BitSet(new long[]{0x0000000000000002L});
    public static final BitSet FOLLOW_RULE_STRING_in_rule__GeneratorModel__PackageAssignment_2_24385 = new BitSet(new long[]{0x0000000000000002L});
    public static final BitSet FOLLOW_RULE_ID_in_rule__GeneratorModel__EntryRuleAssignment_3_24420 = new BitSet(new long[]{0x0000000000000002L});
    public static final BitSet FOLLOW_RULE_STRING_in_rule__GeneratorModel__EncodingAssignment_4_24455 = new BitSet(new long[]{0x0000000000000002L});
    public static final BitSet FOLLOW_ruleBinding_in_rule__Bindings__BindingAssignment_34486 = new BitSet(new long[]{0x0000000000000002L});
    public static final BitSet FOLLOW_RULE_ID_in_rule__RuleBinding__RuleAssignment_14521 = new BitSet(new long[]{0x0000000000000002L});
    public static final BitSet FOLLOW_RULE_STRING_in_rule__RuleBinding__TargetRuleNameAssignment_2_14556 = new BitSet(new long[]{0x0000000000000002L});
    public static final BitSet FOLLOW_ruleFieldBinding_in_rule__RuleBinding__FieldBindingsAssignment_3_14587 = new BitSet(new long[]{0x0000000000000002L});
    public static final BitSet FOLLOW_RULE_STRING_in_rule__FieldBinding__NameAssignment_14618 = new BitSet(new long[]{0x0000000000000002L});
    public static final BitSet FOLLOW_RULE_ID_in_rule__FieldBinding__TypeAssignment_24653 = new BitSet(new long[]{0x0000000000000002L});
    public static final BitSet FOLLOW_RULE_STRING_in_rule__FieldBinding__TargetNameAssignment_44688 = new BitSet(new long[]{0x0000000000000002L});
    public static final BitSet FOLLOW_RULE_ID_in_rule__ClassBinding__RuleAssignment_14723 = new BitSet(new long[]{0x0000000000000002L});
    public static final BitSet FOLLOW_RULE_STRING_in_rule__ClassBinding__ClassNameAssignment_34758 = new BitSet(new long[]{0x0000000000000002L});
    public static final BitSet FOLLOW_RULE_STRING_in_rule__ClassBinding__MethodNameAssignment_4_14789 = new BitSet(new long[]{0x0000000000000002L});

}
